#
# DOIRT_ANES_1980-2016_varyingslopesbysophis_evolutionvariance_fixed_0.01.r
#
#
#
rm(list=ls(all=TRUE))
#
#install.packages(c("doParallel","foreach","foreign","MASS","MCMCpack","DAMisc","rjags","ggplot2","apsrtable","emIRT","gridExtra","dplyr","viridis","margins","ppcor","reshape2","dclone","R2WinBUGS","psych","mokken"))
#
library(parallel)
library(doParallel)
library(foreach)
library(foreign)
library(MASS)
library(MCMCpack)
library(DAMisc)
library(rjags)
library(ggplot2)
library(apsrtable)
library(emIRT)
library(gridExtra)
library(dplyr)
library(viridis)
library(margins)
library(ppcor)
library(reshape2)
library(dclone)
library(R2WinBUGS)
library(psych)
library(mokken)
#
cl <- makeCluster(3)
registerDoParallel(cl)
#
set.seed(1985)
#
#setwd("D:/")
setwd("c:/Users/cdhare/")
#
#   I. CREATE RESPONSE MATRIX (dat)
#
# 1980
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES1980.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
carter.rating <- V800154
carter.rating[carter.rating < 0] <- NA
carter.rating[carter.rating > 100] <- NA
reagan.rating <- V800155
reagan.rating[reagan.rating < 0] <- NA
reagan.rating[reagan.rating > 100] <- NA
#
carter.reagan.therms <- binary.comparisons(cbind(carter.rating,reagan.rating))
#
#
#  ISSUES
#
libcon <- V800267
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
defensespending <- V800281
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
govtservices <- V800291
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
inflation <- V800301
inflation[inflation < 1] <- NA
inflation[inflation > 7] <- NA
#
abortion.scale <- V800311
abortion.scale[abortion.scale > 4] <- NA
#
taxcut <- V800323
taxcut[taxcut < 1] <- NA
taxcut[taxcut > 5] <- NA
#
aidtoblacks <- V801062
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
russia <- V801078
russia[russia < 1] <- NA
russia[russia > 7] <- NA
#
womensrole <- V801094
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
guarjobs <- V801110
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
ERA <- V801127
ERA[ERA==4] <- 3
ERA[ERA==5] <- 4
ERA[ERA < 1] <- NA
ERA[ERA > 4] <- NA
#
busing <- V801133
busing[busing < 1] <- NA
busing[busing > 7] <- NA
#
schoolprayer <- V801135
schoolprayer[schoolprayer==5] <- 3
schoolprayer[schoolprayer < 1] <- NA
schoolprayer[schoolprayer > 3] <- NA
#
gaydiscrimination <- rep(NA,length(libcon))
gayadoption_2pt <- rep(NA,length(libcon))
gayadoption_4pt <- rep(NA,length(libcon))
gaymarriage <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
welfarespend <- rep(NA,length(libcon))
poorspend <- rep(NA,length(libcon))
healthinsurance <- rep(NA,length(libcon))
environmentjobs <- rep(NA,length(libcon))
immigrationlevel <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(carter.reagan.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses1980 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(1980,nrow(issues2))
time <- rep(1,nrow(issues2))
#
issues1980 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V800279
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V800278
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement1980 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement1980[is.na(correctplacement1980)] <- 0
correctplacement1980 <- correctplacement1980[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V800721
nonhispwhite[V800721==1 & V800722==5] <- 1
nonhispwhite[V800721!=1] <- 0
nonhispwhite[V800722!=5] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite1980 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V800266
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid1980 <- partyid
#
#  VALUES
#
moraltrad.scores1980 <- rep(NA,nrow(issues2))
egalitarianism.scores1980 <- rep(NA,nrow(issues2))
authoritarianism.scores1980 <- rep(NA,nrow(issues2))
govtrole.scores1980 <- rep(NA,nrow(issues2))
#
detach(data)
#
#
#
#
# 1984
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES1984.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
mondale.rating <- V840301
mondale.rating[mondale.rating < 0] <- NA
mondale.rating[mondale.rating > 100] <- NA
reagan.rating <- V840290
reagan.rating[reagan.rating < 0] <- NA
reagan.rating[reagan.rating > 100] <- NA
#
mondale.reagan.therms <- binary.comparisons(cbind(mondale.rating,reagan.rating))
#
#
#  ISSUES
#
libcon <- V840369
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V840375
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
aidtoblacks <- V840382
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
centralamerica <- V840388
centralamerica[centralamerica < 1] <- NA
centralamerica[centralamerica > 7] <- NA
#
defensespending <- V840395
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
russia <- V840408
russia[russia < 1] <- NA
russia[russia > 7] <- NA
#
guarjobs <- V840414
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
abortion.scale <- V840423
abortion.scale[abortion.scale > 4] <- NA
#
womensrole <- V840250
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
publicschoolspending <- V840998
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
socialsecurityspending <- V840999
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
foodstampspending <- V841000
foodstampspending[foodstampspending < 1] <- NA
foodstampspending[foodstampspending > 3] <- NA
#
medicarespending <- V841001
medicarespending[medicarespending < 1] <- NA
medicarespending[medicarespending > 3] <- NA
#
unemploymentspending <- V841002
unemploymentspending[unemploymentspending < 1] <- NA
unemploymentspending[unemploymentspending > 3] <- NA
#
schoolprayer <- V841038
schoolprayer[schoolprayer==5] <- 2
schoolprayer[schoolprayer > 2] <- NA
schoolprayer[schoolprayer < 1] <- NA
#
healthinsurance <- V841058
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
busing <- V841074
busing[busing < 1] <- NA
busing[busing > 7] <- NA
#
#
gaydiscrimination <- rep(NA,length(libcon))
gayadoption_2pt <- rep(NA,length(libcon))
gayadoption_4pt <- rep(NA,length(libcon))
gaymarriage <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
welfarespend <- rep(NA,length(libcon))
poorspend <- rep(NA,length(libcon))
environmentjobs <- rep(NA,length(libcon))
immigrationlevel <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(mondale.reagan.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses1984 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(1984,nrow(issues2))
time <- rep(2,nrow(issues2))
#
issues1984 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V840373
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V840374
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement1984 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement1984[is.na(correctplacement1984)] <- 0
correctplacement1984 <- correctplacement1984[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V840708
nonhispwhite[V840708==1 & V840709==5] <- 1
nonhispwhite[V840708!=1] <- 0
nonhispwhite[V840709!=5] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite1984 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V840318
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid1984 <- partyid
#
#  VALUES
#
moraltrad.scores1984 <- rep(NA,nrow(issues2))
egalitarianism.scores1984 <- rep(NA,nrow(issues2))
authoritarianism.scores1984 <- rep(NA,nrow(issues2))
govtrole.scores1984 <- rep(NA,nrow(issues2))
#
detach(data)
#
#
#
#
# 1988
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES1988.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
dukakis.rating <- V880155
dukakis.rating[dukakis.rating < 0] <- NA
dukakis.rating[dukakis.rating > 100] <- NA
bush.rating <- V880154
bush.rating[bush.rating < 0] <- NA
bush.rating[bush.rating > 100] <- NA
#
dukakis.bush.therms <- binary.comparisons(cbind(dukakis.rating,bush.rating))
#
#
#  ISSUES
#
libcon <- V880228
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V880302
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
defensespending <- V880310
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
healthinsurance <- V880318
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
guarjobs <- V880323
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
aidtoblacks <- V880332
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
aidtominorities <- V880340
aidtominorities[aidtominorities < 1] <- NA
aidtominorities[aidtominorities > 7] <- NA
#
socialsecurityspending <- V880348
socialsecurityspending[socialsecurityspending==7] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
foodstampspending <- V880349
foodstampspending[foodstampspending==7] <- 3
foodstampspending[foodstampspending < 1] <- NA
foodstampspending[foodstampspending > 3] <- NA
#
unemploymentspending <- V880379
unemploymentspending[unemploymentspending==7] <- 3
unemploymentspending[unemploymentspending < 1] <- NA
unemploymentspending[unemploymentspending > 3] <- NA
#
publicschoolspending <- V880383
publicschoolspending[publicschoolspending==7] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
starwars <- V880351
starwars[starwars==7] <- 4
starwars[starwars > 4] <- NA
#
russia <- V880368
russia[russia < 1] <- NA
russia[russia > 7] <- NA
#
importlimits <- V880376
importlimits[importlimits==5] <- 2
importlimits[importlimits < 1] <- NA
importlimits[importlimits > 2] <- NA
#
womensrole <- V880387
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
abortion.scale <- V880395
abortion.scale[abortion.scale > 4] <- NA
#
gaydiscrimination <- V880853
gaydiscrimination[gaydiscrimination==3] <- NA
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
deathpenalty <- V880855
deathpenalty[deathpenalty < 1] <- NA
deathpenalty[deathpenalty > 5] <- NA
#
affirmativeaction <- V880857
affirmativeaction[affirmativeaction==4] <- 3
affirmativeaction[affirmativeaction==5] <- 4
affirmativeaction[affirmativeaction < 1] <- NA
affirmativeaction[affirmativeaction > 4] <- NA
#
fairjobsblacks <- V880865
fairjobsblacks[fairjobsblacks==5] <- 2
fairjobsblacks[fairjobsblacks < 1] <- NA
fairjobsblacks[fairjobsblacks > 2] <- NA
#
schoolprayer <- V880866
schoolprayer[schoolprayer < 1] <- NA
schoolprayer[schoolprayer > 4] <- NA
#
taxcuts <- V880944
taxcuts[taxcuts < 1] <- NA
taxcuts[taxcuts > 5] <- NA
#
#
gayadoption_2pt <- rep(NA,length(libcon))
gayadoption_4pt <- rep(NA,length(libcon))
gaymarriage <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
welfarespend <- rep(NA,length(libcon))
poorspend <- rep(NA,length(libcon))
environmentjobs <- rep(NA,length(libcon))
immigrationlevel <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
issues <- cbind(dukakis.bush.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses1988 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(1988,nrow(issues2))
time <- rep(3,nrow(issues2))
#
issues1988 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V880235
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V880234
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement1988 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement1988[is.na(correctplacement1988)] <- 0
correctplacement1988 <- correctplacement1988[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V880412
nonhispwhite[V880412==1 &  V880540==5] <- 1
nonhispwhite[V880412!=1] <- 0
nonhispwhite[V880540!=5] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite1988 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V880274
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid1988 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V880951
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V880954
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V880952
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V880953
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores1988 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V880924
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- V880925
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- V880929
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- V880926
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V880927
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V880928
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores1988 <- egalitarianism.scores
#
authoritarianism.scores1988 <- rep(NA,nrow(issues2))
govtrole.scores1988 <- rep(NA,nrow(issues2))
#
detach(data)
#
#
#
#
# 1992
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES1992.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
clinton.rating <- V923306
clinton.rating[clinton.rating < 0] <- NA
clinton.rating[clinton.rating > 100] <- NA
bush.rating <- V923305
bush.rating[bush.rating < 0] <- NA
bush.rating[bush.rating > 100] <- NA
#
clinton.bush.therms <- binary.comparisons(cbind(clinton.rating,bush.rating))
#
#
#  ISSUES
#
libcon <- V923509
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V923701
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
defensespending <- V923707
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
healthinsurance <- V923716
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
parentalleave <- V923717
parentalleave[parentalleave < 1] <- NA
parentalleave[parentalleave > 2] <- NA
#
guarjobs <- V923718
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
foodstampspending <- V923725
foodstampspending[foodstampspending==7] <- 3
foodstampspending[foodstampspending < 1] <- NA
foodstampspending[foodstampspending > 3] <- NA
#
welfarespend <- V923726
welfarespend[welfarespend==7] <- 3
welfarespend[welfarespend < 1] <- NA
welfarespend[welfarespend > 3] <- NA
#
socialsecurityspending <- V923811
socialsecurityspending[socialsecurityspending==7] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
unemploymentspending <- V923816
unemploymentspending[unemploymentspending==7] <- 3
unemploymentspending[unemploymentspending < 1] <- NA
unemploymentspending[unemploymentspending > 3] <- NA
#
poorspend <- V923817
poorspend[poorspend==7] <- 3
poorspend[poorspend < 1] <- NA
poorspend[poorspend > 3] <- NA
#
publicschoolspending <- V923818
publicschoolspending[publicschoolspending==7] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
taxesservices <- V925922
taxesservices[taxesservices < 1] <- NA
taxesservices[taxesservices > 2] <- NA
#
aidtoblacks <- V923724
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
abortion.scale <- V923732
abortion.scale[abortion.scale > 4] <- NA
#
parentalconsentabortion <- V923736
parentalconsentabortion[parentalconsentabortion==4] <- 3
parentalconsentabortion[parentalconsentabortion==5] <- 4
parentalconsentabortion[parentalconsentabortion < 1] <- NA
parentalconsentabortion[parentalconsentabortion > 4] <- NA
#
govtfundingabortion <- V923738
govtfundingabortion[govtfundingabortion==4] <- 3
govtfundingabortion[govtfundingabortion==5] <- 4
govtfundingabortion[govtfundingabortion < 1] <- NA
govtfundingabortion[govtfundingabortion > 4] <- NA
#
spousalnotificationabortion <- V923740
spousalnotificationabortion[spousalnotificationabortion==4] <- 3
spousalnotificationabortion[spousalnotificationabortion==5] <- 4
spousalnotificationabortion[spousalnotificationabortion < 1] <- NA
spousalnotificationabortion[spousalnotificationabortion > 4] <- NA
#
womensrole <- V923801
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
importlimits <- V923802
importlimits[importlimits==5] <- 2
importlimits[importlimits < 1] <- NA
importlimits[importlimits > 2] <- NA
#
schoolprayer <- V925945
schoolprayer[schoolprayer < 1] <- NA
schoolprayer[schoolprayer > 4] <- NA
#
deathpenalty <- V925934
deathpenalty[deathpenalty < 1] <- NA
deathpenalty[deathpenalty > 5] <- NA
deathpenalty[V925933==3] <- 3
#
gaydiscrimination <- V925924
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
gaymilitary <- V925926
gaymilitary[gaymilitary==4] <- 3
gaymilitary[gaymilitary==5] <- 4
gaymilitary[gaymilitary < 1] <- NA
gaymilitary[gaymilitary > 4] <- NA
#
gayadoption_4pt <- V925928
gayadoption_4pt[gayadoption_4pt==4] <- 3
gayadoption_4pt[gayadoption_4pt==5] <- 4
gayadoption_4pt[gayadoption_4pt < 1] <- NA
gayadoption_4pt[gayadoption_4pt > 4] <- NA
#
gulfwar <- V923608
gulfwar[gulfwar==5] <- 2
gulfwar[gulfwar < 1] <- NA
gulfwar[gulfwar > 2] <- NA
#
affirmativeaction <- V925936
affirmativeaction[affirmativeaction==4] <- 3
affirmativeaction[affirmativeaction==5] <- 4
affirmativeaction[affirmativeaction < 1] <- NA
affirmativeaction[affirmativeaction > 4] <- NA
#
govtjobsblacks <- V925938
govtjobsblacks[govtjobsblacks==5] <- 2
govtjobsblacks[govtjobsblacks < 1] <- NA
govtjobsblacks[govtjobsblacks > 2] <- NA
#
englishlanguage <- V926233
englishlanguage[englishlanguage==3] <- 2
englishlanguage[englishlanguage==5] <- 3
englishlanguage[englishlanguage < 1] <- NA
englishlanguage[englishlanguage > 3] <- NA
#
immigrationlevel <- V926235
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
#
gayadoption_2pt <- rep(NA,length(libcon))
gaymarriage <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
guncontrol <- rep(NA,length(libcon))
environmentjobs <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(clinton.bush.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses1992 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(1992,nrow(issues2))
time <- rep(4,nrow(issues2))
#
issues1992 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V923518
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V923517
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement1992 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement1992[is.na(correctplacement1992)] <- 0
correctplacement1992 <- correctplacement1992[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V924202
nonhispwhite[V924202==1 &  V924122==5] <- 1
nonhispwhite[V924202!=1] <- 0
nonhispwhite[V924122!=5] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite1992 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V923634
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid1992 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V926115
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V926118
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V926116
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V926117
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores1992 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V926024
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- V926025
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- V926029
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- V926026
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V926027
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V926028
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores1992 <- egalitarianism.scores
#
#  VALUES --- AUTHORITARIANISM
#
authoritarianism.independence <- V926019
authoritarianism.independence[authoritarianism.independence==5] <- 2
authoritarianism.independence[authoritarianism.independence < 1] <- NA
authoritarianism.independence[authoritarianism.independence > 2] <- NA
#
authoritarianism.curiosity <- V926021
authoritarianism.curiosity[authoritarianism.curiosity==5] <- 2
authoritarianism.curiosity[authoritarianism.curiosity < 1] <- NA
authoritarianism.curiosity[authoritarianism.curiosity > 2] <- NA
#
authoritarianism.obedience <- V926020
authoritarianism.obedience[authoritarianism.obedience==5] <- 2
authoritarianism.obedience[authoritarianism.obedience < 1] <- NA
authoritarianism.obedience[authoritarianism.obedience > 2] <- NA
authoritarianism.obedience <- (-1 * authoritarianism.obedience) + 3
#
authoritarianism.considerate <- V926022
authoritarianism.considerate[authoritarianism.considerate==5] <- 2
authoritarianism.considerate[authoritarianism.considerate < 1] <- NA
authoritarianism.considerate[authoritarianism.considerate > 2] <- NA
#
authoritarianism.matrix <- cbind(authoritarianism.independence,authoritarianism.curiosity,authoritarianism.obedience,authoritarianism.considerate)
authoritarianism.scores <- rowMeans(authoritarianism.matrix, na.rm=TRUE)
authoritarianism.scores[is.na(authoritarianism.scores)] <- NA
#
authoritarianism.scores <- authoritarianism.scores[nresponses >=3]
authoritarianism.scores1992 <- authoritarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- V925729
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- V925730
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- V925731
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores1992 <- govtrole.scores
#
detach(data)
#
#
#
#
# 1996
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES1996.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
clinton.rating <- V960272
clinton.rating[clinton.rating < 0] <- NA
clinton.rating[clinton.rating > 100] <- NA
dole.rating <- V960273
dole.rating[dole.rating < 0] <- NA
dole.rating[dole.rating > 100] <- NA
#
clinton.dole.therms <- binary.comparisons(cbind(clinton.rating,dole.rating))
#
#
#  ISSUES
#
libcon <- V960365
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V960450
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
defensespending <- V960463
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
healthinsurance <- V960479
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
guarjobs <- V960483
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
aidtoblacks <- V960487
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
foodstampspending <- V960496
foodstampspending[foodstampspending==3] <- 4
foodstampspending[foodstampspending==2] <- 3
foodstampspending[foodstampspending==4] <- 2
foodstampspending[foodstampspending==7] <- 3
foodstampspending[foodstampspending < 1] <- NA
foodstampspending[foodstampspending > 3] <- NA
#
welfarespend <- V960497
welfarespend[welfarespend==3] <- 4
welfarespend[welfarespend==2] <- 3
welfarespend[welfarespend==4] <- 2
welfarespend[welfarespend==7] <- 3
welfarespend[welfarespend < 1] <- NA
welfarespend[welfarespend > 3] <- NA
#
socialsecurityspending <- V960560
socialsecurityspending[socialsecurityspending==3] <- 4
socialsecurityspending[socialsecurityspending==2] <- 3
socialsecurityspending[socialsecurityspending==4] <- 2
socialsecurityspending[socialsecurityspending==7] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
publicschoolspending <- V960562
publicschoolspending[publicschoolspending==3] <- 4
publicschoolspending[publicschoolspending==2] <- 3
publicschoolspending[publicschoolspending==4] <- 2
publicschoolspending[publicschoolspending==7] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
poorspend <- V960565
poorspend[poorspend==3] <- 4
poorspend[poorspend==2] <- 3
poorspend[poorspend==4] <- 2
poorspend[poorspend==7] <- 3
poorspend[poorspend < 1] <- NA
poorspend[poorspend > 3] <- NA
#
environmentjobs <- V960523
environmentjobs[environmentjobs < 1] <- NA
environmentjobs[environmentjobs > 7] <- NA
#
environmentalregulations <- V960537
environmentalregulations[environmentalregulations < 1] <- NA
environmentalregulations[environmentalregulations > 7] <- NA
#
taxcuts <- V961283
taxcuts[taxcuts < 1] <- NA
taxcuts[taxcuts > 6] <- NA
#
richpoordifferences <- V961320
richpoordifferences[richpoordifferences < 1] <- NA
richpoordifferences[richpoordifferences > 7] <- NA
#
welfarechildren <- V961322
welfarechildren[welfarechildren==4] <- 3
welfarechildren[welfarechildren==5] <- 4
welfarechildren[welfarechildren < 1] <- NA
welfarechildren[welfarechildren > 4] <- NA
#
welfaretime <- V961324
welfaretime[welfaretime==4] <- 3
welfaretime[welfaretime==5] <- 4
welfaretime[welfaretime < 1] <- NA
welfaretime[welfaretime > 4] <- NA
#
importlimits <- V961327
importlimits[importlimits==5] <- 2
importlimits[importlimits < 1] <- NA
importlimits[importlimits > 2] <- NA
#
fairjobsblacks <- V961207
fairjobsblacks[fairjobsblacks==4] <- 3
fairjobsblacks[fairjobsblacks==5] <- 4
fairjobsblacks[fairjobsblacks < 1] <- NA
fairjobsblacks[fairjobsblacks > 4] <- NA
#
affirmativeaction.scale <- V961209
affirmativeaction.scale[affirmativeaction.scale==4] <- 3
affirmativeaction.scale[affirmativeaction.scale==5] <- 4
affirmativeaction.scale[affirmativeaction.scale < 1] <- NA
affirmativeaction.scale[affirmativeaction.scale > 4] <- NA
#
affirmativeaction.pastdisc <- V961268
affirmativeaction.pastdisc[affirmativeaction.pastdisc==4] <- 3
affirmativeaction.pastdisc[affirmativeaction.pastdisc==5] <- 4
affirmativeaction.pastdisc[affirmativeaction.pastdisc < 1] <- NA
affirmativeaction.pastdisc[affirmativeaction.pastdisc > 4] <- NA
#
abortion.scale <- V960503
abortion.scale[abortion.scale > 4] <- NA
#
reducecrime <- V960519
reducecrime[reducecrime < 1] <- NA
reducecrime[reducecrime > 7] <- NA
#
womensrole <- V960543
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
gaydiscrimination <- V961194
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
gaymilitary <- V961196
gaymilitary[gaymilitary==4] <- 3
gaymilitary[gaymilitary==5] <- 4
gaymilitary[gaymilitary < 1] <- NA
gaymilitary[gaymilitary > 4] <- NA
#
deathpenalty <- V961198
deathpenalty[deathpenalty==4] <- 3
deathpenalty[deathpenalty==5] <- 4
deathpenalty[deathpenalty < 1] <- NA
deathpenalty[deathpenalty > 4] <- NA
#
schoolprayer <- V961214
schoolprayer[schoolprayer < 1] <- NA
schoolprayer[schoolprayer > 4] <- NA
#
guncontrol_2pt <- V961217
guncontrol_2pt[guncontrol_2pt==5] <- 2
guncontrol_2pt[guncontrol_2pt < 1] <- NA
guncontrol_2pt[guncontrol_2pt > 2] <- NA
#
immigrationlevel <- V961325
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
#
gayadoption_2pt <- rep(NA,length(libcon))
gayadoption_4pt <- rep(NA,length(libcon))
gaymarriage <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(clinton.dole.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses1996 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(1996,nrow(issues2))
time <- rep(5,nrow(issues2))
#
issues1996 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V960379
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V960380
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement1996 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement1996[is.na(correctplacement1996)] <- 0
correctplacement1996 <- correctplacement1996[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V960067
nonhispwhite[V960067==1 &  V960708==5] <- 1
nonhispwhite[V960067!=1] <- 0
nonhispwhite[V960708!=5] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite1996 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V960420
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid1996 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V961248
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V961247
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V961250
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V961249
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores1996 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V961229
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- V961230
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- V961231
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- V961232
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V961233
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V961234
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores1996 <- egalitarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- V961144
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- V961145
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- V961146
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores1996 <- govtrole.scores
#
authoritarianism.scores1996 <- rep(NA,nrow(issues2))
#
detach(data)
#
#
#
#
# 2000
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES2000.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
gore.rating <- V000360
gore.rating[gore.rating < 0] <- NA
gore.rating[gore.rating > 100] <- NA
bush.rating <- V000361
bush.rating[bush.rating < 0] <- NA
bush.rating[bush.rating > 100] <- NA
#
gore.bush.therms <- binary.comparisons(cbind(gore.rating,bush.rating))
#
#
#  ISSUES
#
libcon <- V000440
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
libcon.branch <- V000446
libcon.branch[libcon.branch < 1] <- NA
libcon.branch[libcon.branch > 7] <- NA
libcon.branch[V000440!=9] <- NA
#
govtservices <- V000545
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
govtservices.branch <- V000549
govtservices.branch[govtservices.branch < 1] <- NA
govtservices.branch[govtservices.branch > 5] <- NA
#
defensespending <- V000581
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
defensespending.branch <- V000586
defensespending.branch[defensespending.branch < 1] <- NA
defensespending.branch[defensespending.branch > 5] <- NA
#
healthinsurance <- V000609
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
healthinsurance.branch <- V000613
healthinsurance.branch[healthinsurance.branch < 1] <- NA
healthinsurance.branch[healthinsurance.branch > 5] <- NA
#
guarjobs <- V000615
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
guarjobs.branch <- V000619
guarjobs.branch[guarjobs.branch < 1] <- NA
guarjobs.branch[guarjobs.branch > 5] <- NA
#
aidtoblacks <- V000641
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
aidtoblacks.branch <- V000644
aidtoblacks.branch[aidtoblacks.branch < 1] <- NA
aidtoblacks.branch[aidtoblacks.branch > 7] <- NA
#
fairjobsblacks <- V000802
fairjobsblacks[fairjobsblacks==4] <- 3
fairjobsblacks[fairjobsblacks==5] <- 4
fairjobsblacks[fairjobsblacks < 1] <- NA
fairjobsblacks[fairjobsblacks > 4] <- NA
#
affirmativeaction.scale <- V000806
affirmativeaction.scale[affirmativeaction.scale==4] <- 3
affirmativeaction.scale[affirmativeaction.scale==5] <- 4
affirmativeaction.scale[affirmativeaction.scale < 1] <- NA
affirmativeaction.scale[affirmativeaction.scale > 4] <- NA
#
affirmativeaction.pastdiscrim <- V000674a
affirmativeaction.pastdiscrim[affirmativeaction.pastdiscrim==4] <- 3
affirmativeaction.pastdiscrim[affirmativeaction.pastdiscrim==5] <- 4
affirmativeaction.pastdiscrim[affirmativeaction.pastdiscrim < 1] <- NA
affirmativeaction.pastdiscrim[affirmativeaction.pastdiscrim > 4] <- NA
#
welfarespend <- V000676
welfarespend[welfarespend==5] <- 2
welfarespend[welfarespend==7] <- 3
welfarespend[welfarespend > 3] <- NA
#
foodstampspending <- V000679
foodstampspending[foodstampspending==5] <- 2
foodstampspending[foodstampspending==7] <- 3
foodstampspending[foodstampspending > 3] <- NA
#
poorspend <- V000680
poorspend[poorspend==5] <- 2
poorspend[poorspend==7] <- 3
poorspend[poorspend > 3] <- NA
#
socialsecurityspending <- V000681
socialsecurityspending[socialsecurityspending==5] <- 2
socialsecurityspending[socialsecurityspending==7] <- 3
socialsecurityspending[socialsecurityspending > 3] <- NA
#
publicschoolspending <- V000683
publicschoolspending[publicschoolspending==5] <- 2
publicschoolspending[publicschoolspending==7] <- 3
publicschoolspending[publicschoolspending > 3] <- NA
#
surplustaxcuts <- V000690
surplustaxcuts[surplustaxcuts==4] <- 3
surplustaxcuts[surplustaxcuts==5] <- 4
surplustaxcuts[surplustaxcuts < 1] <- NA
surplustaxcuts[surplustaxcuts > 4] <- NA
#
environmentjobs <- V000708
environmentjobs[environmentjobs < 1] <- NA
environmentjobs[environmentjobs > 7] <- NA
#
environmentjobs.branch <- V000712
environmentjobs.branch[environmentjobs.branch < 1] <- NA
environmentjobs.branch[environmentjobs.branch > 5] <- NA
#
environmentalregulations.scale <- V000771
environmentalregulations.scale[environmentalregulations.scale < 1] <- NA
environmentalregulations.scale[environmentalregulations.scale > 7] <- NA
#
environmentalregulations.branch <- V000775
environmentalregulations.branch[environmentalregulations.branch < 1] <- NA
environmentalregulations.branch[environmentalregulations.branch > 5] <- NA
#
schoolvouchers <- V000742
schoolvouchers[schoolvouchers==5] <- 2
schoolvouchers[schoolvouchers < 1] <- NA
schoolvouchers[schoolvouchers > 2] <- NA
#
importlimits <- V000512
importlimits[importlimits==5] <- 2
importlimits[importlimits < 1] <- NA
importlimits[importlimits > 2] <- NA
#
womensrole.scale <- V000755
womensrole.scale[womensrole.scale < 1] <- NA
womensrole.scale[womensrole.scale > 7] <- NA
#
womensrole.branch <- V000759
womensrole.branch[womensrole.branch < 1] <- NA
womensrole.branch[womensrole.branch > 5] <- NA
#
reducecrime.scale <- V001482
reducecrime.scale[reducecrime.scale < 1] <- NA
reducecrime.scale[reducecrime.scale > 7] <- NA
#
reducecrime.branch <- V001486
reducecrime.branch[reducecrime.branch < 1] <- NA
reducecrime.branch[reducecrime.branch > 7] <- NA
#
abortion.scale <- V000694
abortion.scale[abortion.scale < 1] <- NA
abortion.scale[abortion.scale > 4] <- NA
#
abortion.parentalconsent <- V000702
abortion.parentalconsent[abortion.parentalconsent==4] <- 3
abortion.parentalconsent[abortion.parentalconsent==5] <- 4
abortion.parentalconsent[abortion.parentalconsent < 1] <- NA
abortion.parentalconsent[abortion.parentalconsent > 4] <- NA
#
abortion.partialbirth <- V000705
abortion.partialbirth[abortion.partialbirth==4] <- 3
abortion.partialbirth[abortion.partialbirth==5] <- 4
abortion.partialbirth[abortion.partialbirth < 1] <- NA
abortion.partialbirth[abortion.partialbirth > 4] <- NA
#
deathpenalty <- V000752
deathpenalty[deathpenalty==4] <- 3
deathpenalty[deathpenalty==5] <- 4
deathpenalty[deathpenalty < 1] <- NA
deathpenalty[deathpenalty > 4] <- NA
#
guncontrol_5pt <- V000731
guncontrol_5pt[guncontrol_5pt < 1] <- NA
guncontrol_5pt[guncontrol_5pt > 5] <- NA
#
gaymilitary <- V000727
gaymilitary[gaymilitary==4] <- 3
gaymilitary[gaymilitary==5] <- 4
gaymilitary[gaymilitary < 1] <- NA
gaymilitary[gaymilitary > 4] <- NA
#
gayadoption_2pt <- V000748
gayadoption_2pt[gayadoption_2pt==5] <- 2
gayadoption_2pt[gayadoption_2pt < 1] <- NA
gayadoption_2pt[gayadoption_2pt > 2] <- NA
#
gaydiscrimination <- V001481
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
immigrationlevel <- V000510
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
englishlanguage <- V000745
englishlanguage[englishlanguage==3] <- 2
englishlanguage[englishlanguage==5] <- 3
englishlanguage[englishlanguage < 1] <- NA
englishlanguage[englishlanguage > 3] <- NA
#
#
gayadoption_4pt <- rep(NA,length(libcon))
gaymarriage <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(gore.bush.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses2000 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(2000,nrow(issues2))
time <- rep(6,nrow(issues2))
#
issues2000 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V001382
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V001383
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement2000 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement2000[is.na(correctplacement2000)] <- 0
correctplacement2000 <- correctplacement2000[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V001006a
nonhispwhite[V001006a==50] <- 1
nonhispwhite[V001006a!=50] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite2000 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V000523
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid2000 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V001531
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V001530
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V001533
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V001532
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores2000 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V001521
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- V001522
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- V001523
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- V001524
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V001525
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V001526
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores2000 <- egalitarianism.scores
#
#  VALUES --- AUTHORITARIANISM
#
authoritarianism.independence <- V001586
authoritarianism.independence[authoritarianism.independence==5] <- 2
authoritarianism.independence[authoritarianism.independence < 1] <- NA
authoritarianism.independence[authoritarianism.independence > 2] <- NA
#
authoritarianism.curiosity <- V001588
authoritarianism.curiosity[authoritarianism.curiosity==5] <- 2
authoritarianism.curiosity[authoritarianism.curiosity < 1] <- NA
authoritarianism.curiosity[authoritarianism.curiosity > 2] <- NA
#
authoritarianism.obedience <- V001587
authoritarianism.obedience[authoritarianism.obedience==5] <- 2
authoritarianism.obedience[authoritarianism.obedience < 1] <- NA
authoritarianism.obedience[authoritarianism.obedience > 2] <- NA
authoritarianism.obedience <- (-1 * authoritarianism.obedience) + 3
#
authoritarianism.considerate <- V001589
authoritarianism.considerate[authoritarianism.considerate==5] <- 2
authoritarianism.considerate[authoritarianism.considerate < 1] <- NA
authoritarianism.considerate[authoritarianism.considerate > 2] <- NA
#
authoritarianism.matrix <- cbind(authoritarianism.independence,authoritarianism.curiosity,authoritarianism.obedience,authoritarianism.considerate)
authoritarianism.scores <- rowMeans(authoritarianism.matrix, na.rm=TRUE)
authoritarianism.scores[is.na(authoritarianism.scores)] <- NA
#
authoritarianism.scores <- authoritarianism.scores[nresponses >=3]
authoritarianism.scores2000 <- authoritarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- V001420
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- V001421
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- V001422
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores2000 <- govtrole.scores
#
detach(data)
#
#
#
#
# 2004
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES2004.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
kerry.rating <- V043039
kerry.rating[kerry.rating < 0] <- NA
kerry.rating[kerry.rating > 100] <- NA
bush.rating <- V043038
bush.rating[bush.rating < 0] <- NA
bush.rating[bush.rating > 100] <- NA
#
kerry.bush.therms <- binary.comparisons(cbind(kerry.rating,bush.rating))
#
#
#  ISSUES
#
libcon <- V043085
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V043136
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
defensespending <- V043142
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
bushtaxcuts <- V043149
bushtaxcuts[bushtaxcuts==4] <- 3
bushtaxcuts[bushtaxcuts==5] <- 4
bushtaxcuts[bushtaxcuts < 1] <- NA
bushtaxcuts[bushtaxcuts > 4] <- NA
#
healthinsurance <- V043150
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
guarjobs <- V043152
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
aidtoblacks <- V043158
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
aidtohispanics <- V045140
aidtohispanics[aidtohispanics < 1] <- NA
aidtohispanics[aidtohispanics > 7] <- NA
#
socialsecurityspending <- V043165
socialsecurityspending[socialsecurityspending==5] <- 2
socialsecurityspending[socialsecurityspending==7] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
publicschoolspending <- V043166
publicschoolspending[publicschoolspending==5] <- 2
publicschoolspending[publicschoolspending==7] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
welfarespend <- V043169
welfarespend[welfarespend==5] <- 2
welfarespend[welfarespend==7] <- 3
welfarespend[welfarespend < 1] <- NA
welfarespend[welfarespend > 3] <- NA
#
poorspend <- V043172
poorspend[poorspend==5] <- 2
poorspend[poorspend==7] <- 3
poorspend[poorspend < 1] <- NA
poorspend[poorspend > 3] <- NA
#
environmentjobs <- V043182
environmentjobs[environmentjobs < 1] <- NA
environmentjobs[environmentjobs > 7] <- NA
#
importlimits <- V045114
importlimits[importlimits==5] <- 2
importlimits[importlimits < 1] <- NA
importlimits[importlimits > 2] <- NA
#
socialsecuritystocks <- V045143b
socialsecuritystocks[socialsecuritystocks < 1] <- NA
socialsecuritystocks[socialsecuritystocks > 7] <- NA
#
schoolvouchers <- V045144a
schoolvouchers[schoolvouchers==4] <- 3
schoolvouchers[schoolvouchers==5] <- 4
schoolvouchers[schoolvouchers < 1] <- NA
schoolvouchers[schoolvouchers > 4] <- NA
#
fairjobsblacks <- V045109b
fairjobsblacks[fairjobsblacks==4] <- 3
fairjobsblacks[fairjobsblacks==5] <- 4
fairjobsblacks[fairjobsblacks < 1] <- NA
fairjobsblacks[fairjobsblacks > 4] <- NA
#
affirmativeaction <- V045207a
affirmativeaction[affirmativeaction==4] <- 3
affirmativeaction[affirmativeaction==5] <- 4
affirmativeaction[affirmativeaction < 1] <- NA
affirmativeaction[affirmativeaction > 4] <- NA
#
womensrole <- V043196
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
abortion.scale <- V045132
abortion.scale[abortion.scale > 4] <- NA
#
abortion.govtfunds <- V043179
abortion.govtfunds[abortion.govtfunds==4] <- 3
abortion.govtfunds[abortion.govtfunds==5] <- 4
abortion.govtfunds[abortion.govtfunds < 1] <- NA
abortion.govtfunds[abortion.govtfunds > 4] <- NA
#
abortion.partialbirth <- V043181
abortion.partialbirth[abortion.partialbirth==4] <- 3
abortion.partialbirth[abortion.partialbirth==5] <- 4
abortion.partialbirth[abortion.partialbirth < 1] <- NA
abortion.partialbirth[abortion.partialbirth > 4] <- NA
#
deathpenalty <- V043187
deathpenalty[deathpenalty==4] <- 3
deathpenalty[deathpenalty==5] <- 4
deathpenalty[deathpenalty < 1] <- NA
deathpenalty[deathpenalty > 4] <- NA
#
guncontrol_5pt <- V043189
guncontrol_5pt[guncontrol_5pt < 1] <- NA
guncontrol_5pt[guncontrol_5pt > 5] <- NA
#
gaymarriage <- V043210
gaymarriage[gaymarriage==5] <- 2
gaymarriage[gaymarriage < 1] <- NA
gaymarriage[gaymarriage > 3] <- NA
#
gaydiscrimination <- V045156a
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
gaymilitary <- V045157a
gaymilitary[gaymilitary==4] <- 3
gaymilitary[gaymilitary==5] <- 4
gaymilitary[gaymilitary < 1] <- NA
gaymilitary[gaymilitary > 4] <- NA
#
gayadoption_2pt <- V045158
gayadoption_2pt[gayadoption_2pt==5] <- 2
gayadoption_2pt[gayadoption_2pt < 1] <- NA
gayadoption_2pt[gayadoption_2pt > 2] <- NA
#
immigrationlevel <- V045115
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
iraqwar <- V043134
iraqwar[iraqwar==5] <- 2
iraqwar[iraqwar < 1] <- NA
iraqwar[iraqwar > 2] <- NA
#
terrorismspending <- V043174
terrorismspending[terrorismspending==5] <- 2
terrorismspending[terrorismspending==7] <- 3
terrorismspending[terrorismspending < 1] <- NA
terrorismspending[terrorismspending > 3] <- NA
#
diplomacymilitaryforce <- V043107
diplomacymilitaryforce[diplomacymilitaryforce < 1] <- NA
diplomacymilitaryforce[diplomacymilitaryforce > 7] <- NA
#
#
gayadoption_4pt <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_3pt <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(kerry.bush.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses2004 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
index <- 1:nrow(issues2)
year <- rep(2004,nrow(issues2))
time <- rep(7,nrow(issues2))
#
issues2004 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V043090
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V043091
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement2004 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement2004[is.na(correctplacement2004)] <- 0
correctplacement2004 <- correctplacement2004[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V043299
nonhispwhite[V043299==50] <- 1
nonhispwhite[V043299!=50] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite2004 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V043116
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid2004 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V045189
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V045190
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V045191
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V045192
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores2004 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V045212
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- V045213
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- V045214
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- V045215
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V045216
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V045217
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores2004 <- egalitarianism.scores
#
#  VALUES --- AUTHORITARIANISM
#
authoritarianism.independence <- V045208
authoritarianism.independence[authoritarianism.independence==5] <- 2
authoritarianism.independence[authoritarianism.independence < 1] <- NA
authoritarianism.independence[authoritarianism.independence > 2] <- NA
#
authoritarianism.curiosity <- V045209
authoritarianism.curiosity[authoritarianism.curiosity==5] <- 2
authoritarianism.curiosity[authoritarianism.curiosity < 1] <- NA
authoritarianism.curiosity[authoritarianism.curiosity > 2] <- NA
#
authoritarianism.obedience <- V045210
authoritarianism.obedience[authoritarianism.obedience==5] <- 2
authoritarianism.obedience[authoritarianism.obedience < 1] <- NA
authoritarianism.obedience[authoritarianism.obedience > 2] <- NA
authoritarianism.obedience <- (-1 * authoritarianism.obedience) + 3
#
authoritarianism.considerate <- V045211
authoritarianism.considerate[authoritarianism.considerate==5] <- 2
authoritarianism.considerate[authoritarianism.considerate < 1] <- NA
authoritarianism.considerate[authoritarianism.considerate > 2] <- NA
#
authoritarianism.matrix <- cbind(authoritarianism.independence,authoritarianism.curiosity,authoritarianism.obedience,authoritarianism.considerate)
authoritarianism.scores <- rowMeans(authoritarianism.matrix, na.rm=TRUE)
authoritarianism.scores[is.na(authoritarianism.scores)] <- NA
#
authoritarianism.scores <- authoritarianism.scores[nresponses >=3]
authoritarianism.scores2004 <- authoritarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- V045152
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- V045151
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- V045150
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores2004 <- govtrole.scores
#
detach(data)
#
#
#
#
# 2008
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES2008.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#  REMOVE BLACK AND LATINO OVERSAMPLE (310 AFRICAN AMERICANS AND 350 LATINOS
#
black <- V081103a
black[V081103a==22] <- 1
black[V081103a!=22] <- 0
#
latino <- V081103
latino[V081103==1] <- 1
latino[V081103!=1] <- 0
#
set.seed(1985)
black.cut <- as.numeric(sample(rownames(data[black==1,]),310,replace=FALSE))
set.seed(1985)
latino.cut <- as.numeric(sample(rownames(data[latino==1,]),350,replace=FALSE))
#
oversample.cut <- c(black.cut,latino.cut)
#
data.0 <- data[-oversample.cut,]
data.orig2008 <- data
#
detach(data)
#
data <- data.0
attach(data,warn.conflicts = FALSE)
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
obama.rating <- V083037a
obama.rating[obama.rating < 0] <- NA
obama.rating[obama.rating > 100] <- NA
mccain.rating <- V083037b
mccain.rating[mccain.rating < 0] <- NA
mccain.rating[mccain.rating > 100] <- NA
#
obama.mccain.therms <- binary.comparisons(cbind(obama.rating,mccain.rating))
#
#
#  ISSUES
#
libcon <- V083069
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V083105
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
govtservices.new <- V083108x
govtservices.new[govtservices.new < 1] <- NA
govtservices.new[govtservices.new > 7] <- NA
#
defensespending <- V083112
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
defensespending.new <- V083115x
defensespending.new[defensespending.new < 1] <- NA
defensespending.new[defensespending.new > 7] <- NA
#
healthinsurance <- V083119
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
universal.healthcare <- V083124x
universal.healthcare[universal.healthcare < 1] <- NA
universal.healthcare[universal.healthcare > 7] <- NA
#
guarjobs <- V083128
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
immigrant.workperiod <- V083131x
immigrant.workperiod[immigrant.workperiod < 1] <- NA
immigrant.workperiod[immigrant.workperiod > 7] <- NA
#
immigrant.citizenship <- V083133x
immigrant.citizenship[immigrant.citizenship < 1] <- NA
immigrant.citizenship[immigrant.citizenship > 7] <- NA
#
aidtoblacks <- V083137
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
socialsecurityspending <- V083141
socialsecurityspending[socialsecurityspending==5] <- 2
socialsecurityspending[socialsecurityspending==7] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
publicschoolspending <- V083142
publicschoolspending[publicschoolspending==5] <- 2
publicschoolspending[publicschoolspending==7] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
welfarespend <- V083145
welfarespend[welfarespend==5] <- 2
welfarespend[welfarespend==7] <- 3
welfarespend[welfarespend < 1] <- NA
welfarespend[welfarespend > 3] <- NA
#
poorspend <- V083148
poorspend[poorspend==5] <- 2
poorspend[poorspend==7] <- 3
poorspend[poorspend < 1] <- NA
poorspend[poorspend > 3] <- NA
#
taxrates <- V083152
taxrates[taxrates==2] <- 4
taxrates[taxrates==3] <- 2
taxrates[taxrates==4] <- 3
taxrates[taxrates < 1] <- NA
taxrates[taxrates > 3] <- NA
#
environmentjobs <- V083154
environmentjobs[environmentjobs < 1] <- NA
environmentjobs[environmentjobs > 7] <- NA
#
emissionstandards.new <- V083157x
emissionstandards.new[emissionstandards.new < 1] <- NA
emissionstandards.new[emissionstandards.new > 7] <- NA
#
socialsecuritystocks <- V085104x
socialsecuritystocks[socialsecuritystocks < 1] <- NA
socialsecuritystocks[socialsecuritystocks > 7] <- NA
#
fairjobsblacks <- V085079a
fairjobsblacks[fairjobsblacks==5] <- 2
fairjobsblacks[fairjobsblacks < 1] <- NA
fairjobsblacks[fairjobsblacks > 2] <- NA
#
affirmativeaction <- V085157
affirmativeaction[affirmativeaction==5] <- 2
affirmativeaction[affirmativeaction < 1] <- NA
affirmativeaction[affirmativeaction > 2] <- NA
#
womensrole <- V083166
womensrole[womensrole < 1] <- NA
womensrole[womensrole > 7] <- NA
#
abortion.scale <- V085086
abortion.scale[abortion.scale < 1] <- NA
abortion.scale[abortion.scale > 4] <- NA
#
abortion.birthdefect <- V085096x
abortion.birthdefect[abortion.birthdefect < 1] <- NA
abortion.birthdefect[abortion.birthdefect > 9] <- NA
#
abortion.financialhardship <- V085097x
abortion.financialhardship[abortion.financialhardship < 1] <- NA
abortion.financialhardship[abortion.financialhardship > 9] <- NA
#
death.penalty <- V083163x
death.penalty[death.penalty==4] <- 3
death.penalty[death.penalty==5] <- 4
death.penalty[death.penalty < 1] <- NA
death.penalty[death.penalty > 4] <- NA
#
guncontrol_3pt <- V083164
guncontrol_3pt[guncontrol_3pt == 5] <- 2
guncontrol_3pt[guncontrol_3pt < 1] <- NA
guncontrol_3pt[guncontrol_3pt > 3] <- NA
#
gaydiscrimination <- V083211x
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
gay.military <- V083212x
gay.military[gay.military==4] <- 3
gay.military[gay.military==5] <- 4
gay.military[gay.military < 0] <- NA
gay.military[gay.military > 4] <- NA
#
gayadoption_2pt <- V083213
gayadoption_2pt[gayadoption_2pt==5] <- 2
gayadoption_2pt[gayadoption_2pt < 1] <- NA
gayadoption_2pt[gayadoption_2pt > 2] <- NA
#
gaymarriage <- V083214
gaymarriage[gaymarriage == 5] <- 2
gaymarriage[gaymarriage < 1] <- NA
gaymarriage[gaymarriage > 3] <- NA
#
immigrationlevel <- V085082
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
iraqwar <- V083103
iraqwar[iraqwar == 5] <- 2
iraqwar[iraqwar < 1] <- NA
iraqwar[iraqwar > 2] <- NA
#
terrorismspending <- V083150
terrorismspending[terrorismspending==5] <- 2
terrorismspending[terrorismspending==7] <- 3
terrorismspending[terrorismspending < 1] <- NA
terrorismspending[terrorismspending > 3] <- NA
#
#
gayadoption_4pt <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
#
#
issues <- cbind(obama.mccain.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses2008 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
# Put 2008 oversample respondents who were cut back in
oversample.cut2 <- as.numeric(c(oversample.cut,rownames(data[nresponses < 3,])))
A <- match(as.numeric(rownames(data.orig2008)),oversample.cut2)
A[A > 0] <- 0
A[is.na(A)] <- 1
nresponses2008 <- A==1
#
index <- 1:nrow(issues2)
year <- rep(2008,nrow(issues2))
time <- rep(8,nrow(issues2))
#
issues2008 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V083071a
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V083071b
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement2008 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement2008[is.na(correctplacement2008)] <- 0
correctplacement2008 <- correctplacement2008[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V081103a
nonhispwhite[V081103a==21] <- 1
nonhispwhite[V081103a!=21] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite2008 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V083098x
partyid <- partyid + 1
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid2008 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V085139
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V085140
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V085141
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V085142
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores2008 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V085162
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- V085163
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- V085164
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- V085165
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V085166
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V085167
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores2008 <- egalitarianism.scores
#
#  VALUES --- AUTHORITARIANISM
#
authoritarianism.independence <- V085158
authoritarianism.independence[authoritarianism.independence==5] <- 2
authoritarianism.independence[authoritarianism.independence < 1] <- NA
authoritarianism.independence[authoritarianism.independence > 2] <- NA
#
authoritarianism.curiosity <- V085159
authoritarianism.curiosity[authoritarianism.curiosity==5] <- 2
authoritarianism.curiosity[authoritarianism.curiosity < 1] <- NA
authoritarianism.curiosity[authoritarianism.curiosity > 2] <- NA
#
authoritarianism.obedience <- V085160
authoritarianism.obedience[authoritarianism.obedience==5] <- 2
authoritarianism.obedience[authoritarianism.obedience < 1] <- NA
authoritarianism.obedience[authoritarianism.obedience > 2] <- NA
authoritarianism.obedience <- (-1 * authoritarianism.obedience) + 3
#
authoritarianism.considerate <- V085161
authoritarianism.considerate[authoritarianism.considerate==5] <- 2
authoritarianism.considerate[authoritarianism.considerate < 1] <- NA
authoritarianism.considerate[authoritarianism.considerate > 2] <- NA
#
authoritarianism.matrix <- cbind(authoritarianism.independence,authoritarianism.curiosity,authoritarianism.obedience,authoritarianism.considerate)
authoritarianism.scores <- rowMeans(authoritarianism.matrix, na.rm=TRUE)
authoritarianism.scores[is.na(authoritarianism.scores)] <- NA
#
authoritarianism.scores <- authoritarianism.scores[nresponses >=3]
authoritarianism.scores2008 <- authoritarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- V085107
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- V085106
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- V085105
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores2008 <- govtrole.scores
#
detach(data)
#
#
#
#
# 2012
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES2012.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#  REMOVE BLACK AND LATINO OVERSAMPLES
#
latino.cut <- as.numeric(rownames(data[ftf_oversample==1,]))
black.cut <- as.numeric(rownames(data[ftf_oversample==2,]))
latinoblack.cut <- as.numeric(rownames(data[ftf_oversample==3,]))
#
oversample.cut <- c(latino.cut,black.cut,latinoblack.cut)
#
data.0 <- data[-oversample.cut,]
data.orig2012 <- data
#
detach(data)
#
data <- data.0
attach(data,warn.conflicts = FALSE)
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
obama.rating <- ft_dpc
obama.rating[obama.rating < 0] <- NA
obama.rating[obama.rating > 100] <- NA
romney.rating <- ft_rpc
romney.rating[romney.rating < 0] <- NA
romney.rating[romney.rating > 100] <- NA
#
obama.romney.therms <- binary.comparisons(cbind(obama.rating,romney.rating))
#
#
#  ISSUES
#
libcon <- libcpre_self
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- spsrvpr_ssself
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
defensespending <- defsppr_self
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
healthinsurance <- inspre_self
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
guarjobs <- guarpr_self
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
aidtoblacks <- aidblack_self
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
environmentjobs <- envjob_self
environmentjobs[environmentjobs < 1] <- NA
environmentjobs[environmentjobs > 7] <- NA
#
offshoredrilling <- envir_drill
offshoredrilling[offshoredrilling==2] <- 4
offshoredrilling[offshoredrilling==3] <- 2
offshoredrilling[offshoredrilling==4] <- 3
offshoredrilling[offshoredrilling < 1] <- NA
offshoredrilling[offshoredrilling > 3] <- NA
#
globalwarming <- envir_gwarm
globalwarming[globalwarming < 1] <- NA
globalwarming[globalwarming > 2] <- NA
#
socialsecurityspending <- fedspend_ss
socialsecurityspending[socialsecurityspending==2] <- 4
socialsecurityspending[socialsecurityspending==3] <- 2
socialsecurityspending[socialsecurityspending==4] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
publicschoolspending <- fedspend_schools
publicschoolspending[publicschoolspending==2] <- 4
publicschoolspending[publicschoolspending==3] <- 2
publicschoolspending[publicschoolspending==4] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
welfarespend <- fedspend_welfare
welfarespend[welfarespend==2] <- 4
welfarespend[welfarespend==3] <- 2
welfarespend[welfarespend==4] <- 3
welfarespend[welfarespend < 1] <- NA
welfarespend[welfarespend > 3] <- NA
#
poorspend <- fedspend_poor
poorspend[poorspend==2] <- 4
poorspend[poorspend==3] <- 2
poorspend[poorspend==4] <- 3
poorspend[poorspend < 1] <- NA
poorspend[poorspend > 3] <- NA
#
socialsecuritystocks <- ssinv_invest_x
socialsecuritystocks[socialsecuritystocks < 1] <- NA
socialsecuritystocks[socialsecuritystocks > 7] <- NA
#
importlimits <- imports_limit
importlimits[importlimits < 1] <- NA
importlimits[importlimits > 2] <- NA
#
millionairetax <- milln_milltax
millionairetax[millionairetax==2] <- 4
millionairetax[millionairetax==3] <- 2
millionairetax[millionairetax==4] <- 3
millionairetax[millionairetax < 1] <- NA
millionairetax[millionairetax > 3] <- NA
#
fairjobsblacks <- fairjob_opin_x
fairjobsblacks[fairjobsblacks==4] <- 3
fairjobsblacks[fairjobsblacks==5] <- 4
fairjobsblacks[fairjobsblacks < 1] <- NA
fairjobsblacks[fairjobsblacks > 4] <- NA
#
affirmativeaction <- aa_work_x
affirmativeaction[affirmativeaction < 1] <- NA
affirmativeaction[affirmativeaction > 7] <- NA
#
abortion.scale <- abortpre_4point
abortion.scale[abortion.scale < 1] <- NA
abortion.scale[abortion.scale > 4] <- NA
#
abortion.birthdefect <- abort_bd_x
abortion.birthdefect[abortion.birthdefect < 1] <- NA
abortion.birthdefect[abortion.birthdefect > 9] <- NA
#
abortion.financial <- abort_fin_x
abortion.financial[abortion.financial < 1] <- NA
abortion.financial[abortion.financial > 9] <- NA
#
deathpenalty <- penalty_favopp_x
deathpenalty[deathpenalty==4] <- 3
deathpenalty[deathpenalty==5] <- 4
deathpenalty[deathpenalty < 1] <- NA
deathpenalty[deathpenalty > 4] <- NA
#
guncontrol_3pt <- gun_control
guncontrol_3pt[guncontrol_3pt==2] <- 4
guncontrol_3pt[guncontrol_3pt==3] <- 2
guncontrol_3pt[guncontrol_3pt==4] <- 3
guncontrol_3pt[guncontrol_3pt < 1] <- NA
guncontrol_3pt[guncontrol_3pt > 3] <- NA
#
gaydiscrimination <- gayrt_discstd_x
gaydiscrimination[gaydiscrimination==4] <- 3
gaydiscrimination[gaydiscrimination==5] <- 4
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
gaydiscrimination.new <- gayrt_discrev_x
gaydiscrimination.new[gaydiscrimination.new==4] <- 3
gaydiscrimination.new[gaydiscrimination.new==5] <- 4
gaydiscrimination.new[gaydiscrimination.new < 1] <- NA
gaydiscrimination.new[gaydiscrimination.new > 4] <- NA
#
gaymilitary.old <- gayrt_milstd_x
gaymilitary.old[gaymilitary.old==4] <- 3
gaymilitary.old[gaymilitary.old==5] <- 4
gaymilitary.old[gaymilitary.old < 1] <- NA
gaymilitary.old[gaymilitary.old > 4] <- NA
#
gaymilitary.new <- gayrt_milrev_x
gaymilitary.new[gaymilitary.new==4] <- 3
gaymilitary.new[gaymilitary.new==5] <- 4
gaymilitary.new[gaymilitary.new < 1] <- NA
gaymilitary.new[gaymilitary.new > 4] <- NA
#
gayadoption_2pt <- gayrt_adopt
gayadoption_2pt[gayadoption_2pt < 1] <- NA
gayadoption_2pt[gayadoption_2pt > 2] <- NA
#
gaymarriage <- gayrt_marry
gaymarriage[gaymarriage < 1] <- NA
gaymarriage[gaymarriage > 3] <- NA
#
immigrationpolicy <- immig_policy
immigrationpolicy[immigrationpolicy < 1] <- NA
immigrationpolicy[immigrationpolicy > 4] <- NA
#
dreamact <- immig_citizen
dreamact[dreamact==2] <- 4
dreamact[dreamact==3] <- 2
dreamact[dreamact==4] <- 3
dreamact[dreamact < 1] <- NA
dreamact[dreamact > 3] <- NA
#
checkimmigrationstatus <- immig_checks
checkimmigrationstatus[checkimmigrationstatus==2] <- 4
checkimmigrationstatus[checkimmigrationstatus==3] <- 2
checkimmigrationstatus[checkimmigrationstatus==4] <- 3
checkimmigrationstatus[checkimmigrationstatus < 1] <- NA
checkimmigrationstatus[checkimmigrationstatus > 3] <- NA
#
marijuanalegal <- pot_legal
marijuanalegal[marijuanalegal==2] <- 4
marijuanalegal[marijuanalegal==3] <- 2
marijuanalegal[marijuanalegal==4] <- 3
marijuanalegal[marijuanalegal < 1] <- NA
marijuanalegal[marijuanalegal > 3] <- NA
#
bombiran <- iran_nuksite
bombiran[bombiran==2] <- 4
bombiran[bombiran==3] <- 2
bombiran[bombiran==4] <- 3
bombiran[bombiran < 1] <- NA
bombiran[bombiran > 3] <- NA
#
wiretaps <- wiretap_warrant
wiretaps[wiretaps==2] <- 4
wiretaps[wiretaps==3] <- 2
wiretaps[wiretaps==4] <- 3
wiretaps[wiretaps < 1] <- NA
wiretaps[wiretaps > 3] <- NA
#
immigrationlevel <- immigpo_level
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
#
gayadoption_4pt <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(obama.romney.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses2012 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
# Put 2012 oversample respondents who were cut back in
oversample.cut2 <- as.numeric(c(oversample.cut,rownames(data[nresponses < 3,])))
A <- match(as.numeric(rownames(data.orig2012)),oversample.cut2)
A[A > 0] <- 0
A[is.na(A)] <- 1
nresponses2012 <- A==1
#
index <- 1:nrow(issues2)
year <- rep(2012,nrow(issues2))
time <- rep(9,nrow(issues2))
#
issues2012 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- libcpre_ptyd
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- libcpre_ptyr
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement2012 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement2012[is.na(correctplacement2012)] <- 0
correctplacement2012 <- correctplacement2012[nresponses >=3]
#
#  RACE
#
nonhispwhite <- dem_raceeth_x
nonhispwhite[dem_raceeth_x==1] <- 1
nonhispwhite[dem_raceeth_x!=1] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite2012 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- pid_x
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid2012 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- trad_adjust
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- trad_lifestyle
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- trad_tolerant
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- trad_famval
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores2012 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- egal_equal
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.toofar <- egal_toofar
egalitarianism.toofar[egalitarianism.toofar < 1] <- NA
egalitarianism.toofar[egalitarianism.toofar > 5] <- NA
egalitarianism.toofar <- (-1 * egalitarianism.toofar) + 6
#
egalitarianism.bigprob <- egal_bigprob
egalitarianism.bigprob[egalitarianism.bigprob < 1] <- NA
egalitarianism.bigprob[egalitarianism.bigprob > 5] <- NA
#
egalitarianism.worryless <- egal_worryless
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- egal_notbigprob
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- egal_fewerprobs
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.toofar,egalitarianism.bigprob,
			egalitarianism.worryless,egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores2012 <- egalitarianism.scores
#
#  VALUES --- AUTHORITARIANISM
#
authoritarianism.independence <- auth_ind
authoritarianism.independence[authoritarianism.independence < 1] <- NA
authoritarianism.independence[authoritarianism.independence > 2] <- NA
#
authoritarianism.curiosity <- auth_cur
authoritarianism.curiosity[authoritarianism.curiosity < 1] <- NA
authoritarianism.curiosity[authoritarianism.curiosity > 2] <- NA
#
authoritarianism.obedience <- auth_obed
authoritarianism.obedience[authoritarianism.obedience < 1] <- NA
authoritarianism.obedience[authoritarianism.obedience > 2] <- NA
authoritarianism.obedience <- (-1 * authoritarianism.obedience) + 3
#
authoritarianism.considerate <- auth_consid
authoritarianism.considerate[authoritarianism.considerate < 1] <- NA
authoritarianism.considerate[authoritarianism.considerate > 2] <- NA
#
authoritarianism.matrix <- cbind(authoritarianism.independence,authoritarianism.curiosity,authoritarianism.obedience,authoritarianism.considerate)
authoritarianism.scores <- rowMeans(authoritarianism.matrix, na.rm=TRUE)
authoritarianism.scores[is.na(authoritarianism.scores)] <- NA
#
authoritarianism.scores <- authoritarianism.scores[nresponses >=3]
authoritarianism.scores2012 <- authoritarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- govrole_lessmore
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- govrole_market
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- govrole_big
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores2012 <- govtrole.scores
#
detach(data)
#
#
#
# 2016
#
data <- read.dta("Dropbox/mass_constraint/analysis/ANES2016.dta",convert.factors = FALSE)
attach(data,warn.conflicts = FALSE)
#
#
#  THERMOMETERS
#
binary.comparisons <- function(obj){
    nr <- nrow(obj)
    nc <- ncol(obj)
    combs <- combn(nc, 2)
    res <- sapply(1:ncol(combs), function(i)
        sign(rowSums(cbind(obj[,combs[2,i]], -obj[,combs[1,i]]))))
    res[which(res == 1)] <- 2
    res[which(res == -1)] <- 1
    res[which(res == 0)] <- NA
    res[which(is.na(res))] <- NA
    colnames(res) <- combn(colnames(obj), 2, paste, collapse = "_")
    return(res)
}
#
clinton.rating <- V161086
clinton.rating[clinton.rating < 0] <- NA
clinton.rating[clinton.rating > 100] <- NA
trump.rating <- V161087
trump.rating[trump.rating < 0] <- NA
trump.rating[trump.rating > 100] <- NA
#
clinton.trump.therms <- binary.comparisons(cbind(clinton.rating,trump.rating))
#
#
#  ISSUES
#
libcon <- V161126
libcon[libcon < 1] <- NA
libcon[libcon > 7] <- NA
#
govtservices <- V161178
govtservices[govtservices < 1] <- NA
govtservices[govtservices > 7] <- NA
#
defensespending <- V161181
defensespending[defensespending < 1] <- NA
defensespending[defensespending > 7] <- NA
#
healthinsurance <- V161184
healthinsurance[healthinsurance < 1] <- NA
healthinsurance[healthinsurance > 7] <- NA
#
guarjobs <- V161189
guarjobs[guarjobs < 1] <- NA
guarjobs[guarjobs > 7] <- NA
#
aidtoblacks <- V161198
aidtoblacks[aidtoblacks < 1] <- NA
aidtoblacks[aidtoblacks > 7] <- NA
#
environmentjobs <- V161201
environmentjobs[environmentjobs < 1] <- NA
environmentjobs[environmentjobs > 7] <- NA
#
socialsecurityspending <- V161205
socialsecurityspending[socialsecurityspending==2] <- 4
socialsecurityspending[socialsecurityspending==3] <- 2
socialsecurityspending[socialsecurityspending==4] <- 3
socialsecurityspending[socialsecurityspending < 1] <- NA
socialsecurityspending[socialsecurityspending > 3] <- NA
#
publicschoolspending <- V161206
publicschoolspending[publicschoolspending==2] <- 4
publicschoolspending[publicschoolspending==3] <- 2
publicschoolspending[publicschoolspending==4] <- 3
publicschoolspending[publicschoolspending < 1] <- NA
publicschoolspending[publicschoolspending > 3] <- NA
#
welfarespend <- V161209
welfarespend[welfarespend==2] <- 4
welfarespend[welfarespend==3] <- 2
welfarespend[welfarespend==4] <- 3
welfarespend[welfarespend < 1] <- NA
welfarespend[welfarespend > 3] <- NA
#
poorspend <- V161211
poorspend[poorspend==2] <- 4
poorspend[poorspend==3] <- 2
poorspend[poorspend==4] <- 3
poorspend[poorspend < 1] <- NA
poorspend[poorspend > 3] <- NA
#
abortion.scale <- V161232
abortion.scale[abortion.scale < 1] <- NA
abortion.scale[abortion.scale > 4] <- NA
#
guncontrol_3pt <- V161187
guncontrol_3pt[guncontrol_3pt==2] <- 4
guncontrol_3pt[guncontrol_3pt==3] <- 2
guncontrol_3pt[guncontrol_3pt==4] <- 3
guncontrol_3pt[guncontrol_3pt < 1] <- NA
guncontrol_3pt[guncontrol_3pt > 3] <- NA
#
gaydiscrimination <- V161229x
gaydiscrimination[gaydiscrimination < 1] <- NA
gaydiscrimination[gaydiscrimination > 4] <- NA
#
gayadoption_2pt <- V161230
gayadoption_2pt[gayadoption_2pt < 1] <- NA
gayadoption_2pt[gayadoption_2pt > 2] <- NA
#
gaymarriage <- V161231
gaymarriage[gaymarriage < 1] <- NA
gaymarriage[gaymarriage > 3] <- NA
#
immigrationlevel <- V162157
immigrationlevel[immigrationlevel < 1] <- NA
immigrationlevel[immigrationlevel > 5] <- NA
#
#
gayadoption_4pt <- rep(NA,length(libcon))
guncontrol_2pt <- rep(NA,length(libcon))
guncontrol_5pt <- rep(NA,length(libcon))
libcon.branch <- rep(NA,length(libcon))
govtservices.branch <- rep(NA,length(libcon))
guarjobs.branch <- rep(NA,length(libcon))
healthinsurance.branch <- rep(NA,length(libcon))
environmentjobs.branch <- rep(NA,length(libcon))
aidtoblacks.branch <- rep(NA,length(libcon))
defensespending.branch <- rep(NA,length(libcon))
govtservices.new <- rep(NA,length(libcon))
universal.healthcare <- rep(NA,length(libcon))
defensespending.new <- rep(NA,length(libcon))
#
#
issues <- cbind(clinton.trump.therms,abortion.scale,
		gaydiscrimination,gayadoption_2pt,gayadoption_4pt,gaymarriage,guncontrol_2pt,guncontrol_3pt,guncontrol_5pt,
		welfarespend,poorspend,
		libcon,govtservices,guarjobs,healthinsurance,environmentjobs,aidtoblacks,defensespending,immigrationlevel,
		libcon.branch,govtservices.branch,guarjobs.branch,healthinsurance.branch,environmentjobs.branch,
		aidtoblacks.branch,defensespending.branch,govtservices.new,universal.healthcare,defensespending.new)
#
#
nresponses <- apply(issues, 1, function(x){sum(!is.na(x))})
#
# Select only respondents who supply at least three responses
nresponses2016 <- nresponses >=3
issues2 <- issues[nresponses >=3,]
#
#
index <- 1:nrow(issues2)
year <- rep(2016,nrow(issues2))
time <- rep(10,nrow(issues2))
#
issues2016 <- cbind(index,year,time,issues2)
#
#  POLITICAL KNOWLEDGE FILTER: 1 = CORRECT, 0 = INCORRECT
#
libcon.demparty <- V161130
libcon.demparty[libcon.demparty < 1] <- NA
libcon.demparty[libcon.demparty > 7] <- NA
libcon.repparty <- V161131
libcon.repparty[libcon.repparty < 1] <- NA
libcon.repparty[libcon.repparty > 7] <- NA
#
correctplacement2016 <- as.numeric(libcon.demparty < libcon.repparty)
correctplacement2016[is.na(correctplacement2016)] <- 0
correctplacement2016 <- correctplacement2016[nresponses >=3]
#
#  RACE
#
nonhispwhite <- V161310x
nonhispwhite[V161310x==1] <- 1
nonhispwhite[V161310x!=1] <- 0
nonhispwhite <- nonhispwhite[nresponses >=3]
nonhispwhite2016 <- nonhispwhite
#
#  PARTY ID: 1 = STRONG DEMOCRAT, 7 = STRONG REPUBLICAN
#
partyid <- V161158x
partyid[partyid < 1] <- NA
partyid[partyid > 7] <- NA
partyid <- partyid[nresponses >=3]
partyid2016 <- partyid
#
#  VALUES --- MORAL TRADITIONALISM
#
moraltrad.adjust <- V162207
moraltrad.adjust[moraltrad.adjust < 1] <- NA
moraltrad.adjust[moraltrad.adjust > 5] <- NA
#
moraltrad.lifestyle <- V162208
moraltrad.lifestyle[moraltrad.lifestyle < 1] <- NA
moraltrad.lifestyle[moraltrad.lifestyle > 5] <- NA
moraltrad.lifestyle <- (-1 * moraltrad.lifestyle) + 6
#
moraltrad.tolerant <- V162209
moraltrad.tolerant[moraltrad.tolerant < 1] <- NA
moraltrad.tolerant[moraltrad.tolerant > 5] <- NA
#
moraltrad.familyvalues <- V162210
moraltrad.familyvalues[moraltrad.familyvalues < 1] <- NA
moraltrad.familyvalues[moraltrad.familyvalues > 5] <- NA
moraltrad.familyvalues <- (-1 * moraltrad.familyvalues) + 6
#
moral.matrix <- cbind(moraltrad.adjust,moraltrad.lifestyle,moraltrad.tolerant,moraltrad.familyvalues)
moraltrad.scores <- rowMeans(moral.matrix, na.rm=TRUE)
moraltrad.scores[is.na(moraltrad.scores)] <- NA
#
moraltrad.scores <- moraltrad.scores[nresponses >=3]
moraltrad.scores2016 <- moraltrad.scores
#
#  VALUES --- EGALITARIANISM
#
egalitarianism.equal <- V162243
egalitarianism.equal[egalitarianism.equal < 1] <- NA
egalitarianism.equal[egalitarianism.equal > 5] <- NA
#
egalitarianism.worryless <- V162244
egalitarianism.worryless[egalitarianism.worryless < 1] <- NA
egalitarianism.worryless[egalitarianism.worryless > 5] <- NA
egalitarianism.worryless <- (-1 * egalitarianism.worryless) + 6
#
egalitarianism.notbigprob <- V162245
egalitarianism.notbigprob[egalitarianism.notbigprob < 1] <- NA
egalitarianism.notbigprob[egalitarianism.notbigprob > 5] <- NA
egalitarianism.notbigprob <- (-1 * egalitarianism.notbigprob) + 6
#
egalitarianism.fewerprobs <- V162246
egalitarianism.fewerprobs[egalitarianism.fewerprobs < 1] <- NA
egalitarianism.fewerprobs[egalitarianism.fewerprobs > 5] <- NA
#
egalitarianism.matrix <- cbind(egalitarianism.equal,egalitarianism.worryless,
  egalitarianism.notbigprob,egalitarianism.fewerprobs)
egalitarianism.scores <- rowMeans(egalitarianism.matrix, na.rm=TRUE)
egalitarianism.scores[is.na(egalitarianism.scores)] <- NA
#
egalitarianism.scores <- egalitarianism.scores[nresponses >=3]
egalitarianism.scores2016 <- egalitarianism.scores
#
#  VALUES --- AUTHORITARIANISM
#
authoritarianism.independence <- V162239
authoritarianism.independence[authoritarianism.independence < 1] <- NA
authoritarianism.independence[authoritarianism.independence > 2] <- NA
#
authoritarianism.curiosity <- V162240
authoritarianism.curiosity[authoritarianism.curiosity < 1] <- NA
authoritarianism.curiosity[authoritarianism.curiosity > 2] <- NA
#
authoritarianism.obedience <- V162241
authoritarianism.obedience[authoritarianism.obedience < 1] <- NA
authoritarianism.obedience[authoritarianism.obedience > 2] <- NA
authoritarianism.obedience <- (-1 * authoritarianism.obedience) + 3
#
authoritarianism.considerate <- V162242
authoritarianism.considerate[authoritarianism.considerate < 1] <- NA
authoritarianism.considerate[authoritarianism.considerate > 2] <- NA
#
authoritarianism.matrix <- cbind(authoritarianism.independence,authoritarianism.curiosity,
  authoritarianism.obedience,authoritarianism.considerate)
authoritarianism.scores <- rowMeans(authoritarianism.matrix, na.rm=TRUE)
authoritarianism.scores[is.na(authoritarianism.scores)] <- NA
#
authoritarianism.scores <- authoritarianism.scores[nresponses >=3]
authoritarianism.scores2016 <- authoritarianism.scores
#
#  VALUES --- ROLE OF GOVERNMENT
#
govtrole.lessmore <- V162185
govtrole.lessmore[govtrole.lessmore < 1] <- NA
govtrole.lessmore[govtrole.lessmore > 2] <- NA
govtrole.lessmore <- (-1 * govtrole.lessmore) + 3
#
govtrole.market <- V162184
govtrole.market[govtrole.market < 1] <- NA
govtrole.market[govtrole.market > 2] <- NA
#
govtrole.big <- V162183
govtrole.big[govtrole.big < 1] <- NA
govtrole.big[govtrole.big > 2] <- NA
govtrole.big <- (-1 * govtrole.big) + 3
#
govtrole.matrix <- cbind(govtrole.lessmore,govtrole.market,govtrole.big)
govtrole.scores <- rowMeans(govtrole.matrix, na.rm=TRUE)
govtrole.scores[is.na(govtrole.scores)] <- NA
#
govtrole.scores <- govtrole.scores[nresponses >=3]
govtrole.scores2016 <- govtrole.scores
#
detach(data)
#
#
#
dat <- rbind(issues1980,issues1984,issues1988,issues1992,issues1996,issues2000,issues2004,issues2008,issues2012,issues2016)
#
# Cut out therms
therms <- dat[,colnames(dat) %in% c("carter.rating_reagan.rating")]
dat <- dat[,!colnames(dat) %in% c("carter.rating_reagan.rating")]
#
correctplacements <- c(correctplacement1980,correctplacement1984,correctplacement1988,correctplacement1992,correctplacement1996,
			correctplacement2000,correctplacement2004,correctplacement2008,correctplacement2012,correctplacement2016)
#
race <- c(nonhispwhite1980,nonhispwhite1984,nonhispwhite1988,nonhispwhite1992,
    nonhispwhite1996,nonhispwhite2000,nonhispwhite2004,nonhispwhite2008,
    nonhispwhite2012,nonhispwhite2016)
white <- race
#
party7 <- c(partyid1980,partyid1984,partyid1988,partyid1992,partyid1996,
    partyid2000,partyid2004,partyid2008,partyid2012,partyid2016)
partisan <- party7
partisan[partisan <=3 | partisan >=5] <- 1
partisan[partisan!=1 | is.na(partisan)] <- 0
#
moraltraditionalism <- c(moraltrad.scores1980,moraltrad.scores1984,moraltrad.scores1988,moraltrad.scores1992,moraltrad.scores1996,moraltrad.scores2000,moraltrad.scores2004,moraltrad.scores2008,moraltrad.scores2012,moraltrad.scores2016)
egalitarianism <- c(egalitarianism.scores1980,egalitarianism.scores1984,egalitarianism.scores1988,egalitarianism.scores1992,egalitarianism.scores1996,egalitarianism.scores2000,egalitarianism.scores2004,egalitarianism.scores2008,egalitarianism.scores2012,egalitarianism.scores2016)
authoritarianism <- c(authoritarianism.scores1980,authoritarianism.scores1984,authoritarianism.scores1988,authoritarianism.scores1992,authoritarianism.scores1996,authoritarianism.scores2000,authoritarianism.scores2004,authoritarianism.scores2008,authoritarianism.scores2012,authoritarianism.scores2016)
govtrole <- c(govtrole.scores1980,govtrole.scores1984,govtrole.scores1988,govtrole.scores1992,govtrole.scores1996,govtrole.scores2000,govtrole.scores2004,govtrole.scores2008,govtrole.scores2012,govtrole.scores2016)
#
#
#
#
# COMBINE WITH CUMULATIVE DATA FILE
#
cdfdata <- read.dta("Dropbox/mass_constraint/analysis/ANES19802016cdf.dta",convert.factors = FALSE)
yearstudy <- cdfdata[,"VCF0004"]
cdfdata2 <- cdfdata[(yearstudy==1980 | yearstudy==1984 | yearstudy==1988 | yearstudy==1992 | yearstudy==1996 | yearstudy==2000 | yearstudy==2004 | yearstudy==2008 | yearstudy==2012 | yearstudy==2016),]
#
combvector <- c(nresponses1980,nresponses1984,nresponses1988,nresponses1992,nresponses1996,nresponses2000,nresponses2004,nresponses2008,nresponses2012,nresponses2016)
cdfdata3 <- cdfdata2[combvector,]
#
attach(cdfdata3, warn.conflicts = FALSE)
#
# Political interest [0 - 2]
#
interest <- VCF0310
interest[interest < 1 | interest > 3] <- NA
interest <- interest - 1
#
# Political involvement [0 - 5]
#
involvement <- VCF0723
involvement[involvement < 1 | involvement > 6] <- NA
involvement <- involvement - 1
#
# Political knowledge [0 - 4]
#
knowledge <- VCF0050a
knowledge[knowledge < 1 | knowledge > 5] <- NA
knowledge <- (-1 * knowledge) + 6
knowledge <- knowledge - 1
#
# Political sophistication
#
sophistication.add <- interest + involvement + knowledge
#
sophistication.mean01 <- rowMeans(cbind((interest/2),(involvement/5),(knowledge/4)), na.rm=TRUE)
#
std.interest <- (interest - mean(interest, na.rm=TRUE)) / sd(interest, na.rm=TRUE)
std.involvement <- (involvement - mean(involvement, na.rm=TRUE)) / sd(involvement, na.rm=TRUE)
std.knowledge <- (knowledge - mean(knowledge, na.rm=TRUE)) / sd(knowledge, na.rm=TRUE)
#
sophistication.meanstd <- rowMeans(cbind(std.interest,std.involvement,std.knowledge), na.rm=TRUE)
#
# Reliability coefficients
psych::alpha(cbind(std.interest,std.involvement,std.knowledge))
psych::alpha(na.omit(cbind(std.interest,std.involvement,std.knowledge)))
mokken::coefH(na.omit(cbind(interest, involvement, knowledge)))
#
summary(check.monotonicity(na.omit(cbind(interest, involvement, knowledge))))
summary(check.restscore(na.omit(cbind(interest, involvement, knowledge))))
#
sophistication.year <- VCF0004
#
sophistication.tertile1980 <- ntile(sophistication.meanstd[sophistication.year==1980], 3)
sophistication.tertile1984 <- ntile(sophistication.meanstd[sophistication.year==1984], 3)
sophistication.tertile1988 <- ntile(sophistication.meanstd[sophistication.year==1988], 3)
sophistication.tertile1992 <- ntile(sophistication.meanstd[sophistication.year==1992], 3)
sophistication.tertile1996 <- ntile(sophistication.meanstd[sophistication.year==1996], 3)
sophistication.tertile2000 <- ntile(sophistication.meanstd[sophistication.year==2000], 3)
sophistication.tertile2004 <- ntile(sophistication.meanstd[sophistication.year==2004], 3)
sophistication.tertile2008 <- ntile(sophistication.meanstd[sophistication.year==2008], 3)
sophistication.tertile2012 <- ntile(sophistication.meanstd[sophistication.year==2012], 3)
sophistication.tertile2016 <- ntile(sophistication.meanstd[sophistication.year==2016], 3)
#
sophistication.tertile <- c(sophistication.tertile1980,sophistication.tertile1984,sophistication.tertile1988,
	sophistication.tertile1992,sophistication.tertile1996,sophistication.tertile2000,sophistication.tertile2004,
    sophistication.tertile2008,sophistication.tertile2012,sophistication.tertile2016)
#
sophis <- sophistication.tertile
sophis2 <- sophis
#
detach(cdfdata3)
#
sophis <- sophis[!is.na(sophis2)]
dat <- dat[!is.na(sophis2),]
therms <- therms[!is.na(sophis2)]
#
correctplacements <- correctplacements[!is.na(sophis2)]
#
# Political sophistication and correct party placements, by year
table(sophis[dat[,3]==1], correctplacements[dat[,3]==1])
table(sophis[dat[,3]==2], correctplacements[dat[,3]==2])
table(sophis[dat[,3]==3], correctplacements[dat[,3]==3])
table(sophis[dat[,3]==4], correctplacements[dat[,3]==4])
table(sophis[dat[,3]==5], correctplacements[dat[,3]==5])
table(sophis[dat[,3]==6], correctplacements[dat[,3]==6])
table(sophis[dat[,3]==7], correctplacements[dat[,3]==7])
table(sophis[dat[,3]==8], correctplacements[dat[,3]==8])
table(sophis[dat[,3]==9], correctplacements[dat[,3]==9])
table(sophis[dat[,3]==10], correctplacements[dat[,3]==10])
#
#   II. RUN DO-IRT MODEL WITH JAGS
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# junk (to deal with computing limitations)
#dat2 <- rbind(dat[1:200,],dat[1000:1200,],dat[2000:2200,],dat[3000:3200,],dat[4000:4200,],dat[5000:5200,],
#	dat[6000:6200,],dat[7000:7200,],dat[8000:8200,],dat[9000:9200,],dat[10000:10200,],dat[11000:11200,],
#	dat[12000:12200,],dat[13000:13200,],dat[14000:14200,],dat[15000:15200,],dat[16000:16200,],
#	dat[17000:17200,],dat[18000:18200,],dat[19000:19200,])
#dat <- dat2
#sophis <- sophistication.tertile
#sophis2 <- c(sophis[1:200],sophis[1000:1200],sophis[2000:2200],sophis[3000:3200],sophis[4000:4200],sophis[5000:5200],
#	sophis[6000:6200],sophis[7000:7200],sophis[8000:8200],sophis[9000:9200],sophis[10000:10200],sophis[11000:11200],
#	sophis[12000:12200],sophis[13000:13200],sophis[14000:14200],sophis[15000:15200],sophis[16000:16200],
#	sophis[17000:17200],sophis[18000:18200],sophis[19000:19200])
#sophis <- sophis2
#partisan2 <- c(partisan[1:100],partisan[1000:1100],partisan[2000:2100],partisan[3000:3100],partisan[4000:4100],
#	partisan[5000:5100],partisan[6000:6100],partisan[7000:7100],partisan[8000:8100],partisan[9000:9100],
#	partisan[10000:10100],partisan[11000:11100],partisan[12000:12100],partisan[13000:13100],partisan[14000:14100],
#	partisan[15000:15100],partisan[16000:16100],partisan[17000:17100],partisan[18000:18100],partisan[19000:19100])
#partisan <- partisan2
#white2 <- c(white[1:100],white[1000:1100],white[2000:2100],white[3000:3100],white[4000:4100],white[5000:5100],
#	white[6000:6100],white[7000:7100],white[8000:8100],white[9000:9100],white[10000:10100],white[11000:11100],
#	white[12000:12100],white[13000:13100],white[14000:14100],white[15000:15100],white[16000:16100],white[17000:17100],
#	white[18000:18100],white[19000:19100])
#white <- white2
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
Y <- dat[,4:ncol(dat)]
Y <- as.matrix(Y)
#
time <- dat[,3]
#
n <- nrow(Y)
p <- ncol(Y)
T <- max(time)
K <- apply(Y,2,max,na.rm=TRUE)
#
firs1980 <- 1
last1980 <- table(time)[1]
firs1984 <- last1980 + 1
last1984 <- last1980 + table(time)[2]
firs1988 <- last1984 + 1
last1988 <- last1984 + table(time)[3]
firs1992 <- last1988 + 1
last1992 <- last1988 + table(time)[4]
firs1996 <- last1992 + 1
last1996 <- last1992 + table(time)[5]
firs2000 <- last1996 + 1
last2000 <- last1996 + table(time)[6]
firs2004 <- last2000 + 1
last2004 <- last2000 + table(time)[7]
firs2008 <- last2004 + 1
last2008 <- last2004 + table(time)[8]
firs2012 <- last2008 + 1
last2012 <- last2008 + table(time)[9]
firs2016 <- last2012 + 1
last2016 <- last2012 + table(time)[10]
#
#
#
doirt.model <- function() {
# ABORTION (COLUMN 1) 4-POINT
#
for (i in 1:n){
for (j in 1:1){
#
Y[i, j] ~ dcat(Pi[i, j, 1:4])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- 1 - Z[i, j, 3]
#
}}
#
# GAY DISCRIMINATION (COLUMN 2) 4-POINT
#
for (i in firs1988:n){
for (j in 2:2){
#
Y[i, j] ~ dcat(Pi[i, j, 1:4])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- 1 - Z[i, j, 3]
#
}}
#
# GAY ADOPTION (COLUMN 3) 2-POINT
#
for (i in firs2000:n){
for (j in 3:3){
#
Y[i, j] ~ dcat(Pi[i, j, 1:2])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- 1 - Z[i, j, 1]
#
}}
#
# GAY ADOPTION (COLUMN 4) 4-POINT
#
for (i in firs1992:last1992){
for (j in 4:4){
#
Y[i, j] ~ dcat(Pi[i, j, 1:4])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- 1 - Z[i, j, 3]
#
}}
#
# GAY MARRIAGE (COLUMN 5) 3-POINT
#
for (i in firs2004:n){
for (j in 5:5){
#
Y[i, j] ~ dcat(Pi[i, j, 1:3])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- 1 - Z[i, j, 2]
#
}}
#
# GUN CONTROL (COLUMN 6) 2-POINT
#
for (i in firs1996:last1996){
for (j in 6:6){
#
Y[i, j] ~ dcat(Pi[i, j, 1:2])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- 1 - Z[i, j, 1]
#
}}
#
# GUN CONTROL (COLUMN 7) 3-POINT
#
for (i in firs2008:n){
for (j in 7:7){
#
Y[i, j] ~ dcat(Pi[i, j, 1:3])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- 1 - Z[i, j, 2]
#
}}
#
# GUN CONTROL (COLUMN 8) 5-POINT
#
for (i in firs2000:last2004){
for (j in 8:8){
#
Y[i, j] ~ dcat(Pi[i, j, 1:5])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- 1 - Z[i, j, 4]
#
}}
#
# WELFARE AND POOR SPENDING (COLUMNS 9-10) 3-POINT
#
for (i in firs1992:n){
for (j in 9:10){
#
Y[i, j] ~ dcat(Pi[i, j, 1:3])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- 1 - Z[i, j, 2]
#
}}
#
# LIBCON, GOVTSPEND, AND GUARJOBS
# (COLUMNS 11-13) 7-POINT
#
for (i in 1:n){
for (j in 11:13){
#
Y[i, j] ~ dcat(Pi[i, j, 1:7])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 5]) <- alpha[j, 5, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 6]) <- alpha[j, 6, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- Z[i, j, 5] - Z[i, j, 4]
Pi[i, j, 6] <- Z[i, j, 6] - Z[i, j, 5]
Pi[i, j, 7] <- 1 - Z[i, j, 6]
#
}}
#
# HEALTH INSURANCE (COLUMN 14) 7-POINT
#
for (i in firs1984:n){
for (j in 14:14){
#
Y[i, j] ~ dcat(Pi[i, j, 1:7])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 5]) <- alpha[j, 5, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 6]) <- alpha[j, 6, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- Z[i, j, 5] - Z[i, j, 4]
Pi[i, j, 6] <- Z[i, j, 6] - Z[i, j, 5]
Pi[i, j, 7] <- 1 - Z[i, j, 6]
#
}}
#
# ENVIRONMENTJOBS (COLUMN 15) 7-POINT
#
for (i in firs1996:n){
for (j in 15:15){
#
Y[i, j] ~ dcat(Pi[i, j, 1:7])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 5]) <- alpha[j, 5, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 6]) <- alpha[j, 6, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- Z[i, j, 5] - Z[i, j, 4]
Pi[i, j, 6] <- Z[i, j, 6] - Z[i, j, 5]
Pi[i, j, 7] <- 1 - Z[i, j, 6]
#
}}
#
# AID TO BLACKS AND DEFENSE SPENDING
# (COLUMNS 16-17) 7-POINT
#
for (i in 1:n){
for (j in 16:17){
#
Y[i, j] ~ dcat(Pi[i, j, 1:7])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 5]) <- alpha[j, 5, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 6]) <- alpha[j, 6, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- Z[i, j, 5] - Z[i, j, 4]
Pi[i, j, 6] <- Z[i, j, 6] - Z[i, j, 5]
Pi[i, j, 7] <- 1 - Z[i, j, 6]
#
}}
#
# IMMIGRATION LEVEL (COLUMN 18) 5-POINT
#
for (i in firs1992:n){
for (j in 18:18){
#
Y[i, j] ~ dcat(Pi[i, j, 1:5])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- 1 - Z[i, j, 4]
#
}}
#
# LIBCON BRANCH (2000 ONLY)
# (COLUMN 19) 7-POINT
#
for (i in firs2000:last2000){
for (j in 19:19){
#
Y[i, j] ~ dcat(Pi[i, j, 1:7])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 5]) <- alpha[j, 5, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 6]) <- alpha[j, 6, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- Z[i, j, 5] - Z[i, j, 4]
Pi[i, j, 6] <- Z[i, j, 6] - Z[i, j, 5]
Pi[i, j, 7] <- 1 - Z[i, j, 6]
#
}}
#
# GOVTSPEND - DEF SPEND BRANCH (2000 ONLY)
# (COLUMNS 20-25) 5-POINT
#
for (i in firs2000:last2000){
for (j in 20:25){
#
Y[i, j] ~ dcat(Pi[i, j, 1:5])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- 1 - Z[i, j, 4]
#
}}
#
# GOVTSPEND - DEFSPEND NEW (2008 ONLY)
# (COLUMNS 26-28) 7-POINT
#
for (i in firs2008:last2008){
for (j in 26:p){
#
Y[i, j] ~ dcat(Pi[i, j, 1:7])
probit(Z[i, j, 1]) <- alpha[j, 1, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 2]) <- alpha[j, 2, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 3]) <- alpha[j, 3, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 4]) <- alpha[j, 4, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 5]) <- alpha[j, 5, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
probit(Z[i, j, 6]) <- alpha[j, 6, time[i], sophis[i]] - beta[j, time[i], sophis[i]]*x[i]
#
Pi[i, j, 1] <- Z[i, j, 1]
Pi[i, j, 2] <- Z[i, j, 2] - Z[i, j, 1]
Pi[i, j, 3] <- Z[i, j, 3] - Z[i, j, 2]
Pi[i, j, 4] <- Z[i, j, 4] - Z[i, j, 3]
Pi[i, j, 5] <- Z[i, j, 5] - Z[i, j, 4]
Pi[i, j, 6] <- Z[i, j, 6] - Z[i, j, 5]
Pi[i, j, 7] <- 1 - Z[i, j, 6]
#
}}
#
# PRIORS ON X
#
for (i in 1:n){
x[i] ~ dnorm(0, 1)
}
#
# PRIORS ON BETA
# CONSTRAIN B11 (LIBCON)
# TO BE POSITIVE;
# AND B12 (GOVTSPEND)
# TO BE NEGATIVE ACROSS YEARS
#
for(s in 1:3){
for(j in 1:10){
beta[j,1,s] ~ dnorm(mu.beta.one, 0.01)
for(t in 2:T){
beta[j,t,s] ~ dnorm(beta[j,t-1,s], 0.01)
}}
#
for(j in 11:11){
beta[j,1,s] ~ dnorm(mu.beta.one, 0.01);T(0,)
for(t in 2:T){
beta[j,t,s]~dnorm(beta[j,t-1,s], 0.01);T(0,)
}}
#
for(j in 12:12){
beta[j,1,s] ~ dnorm(mu.beta.one, 0.01);T(,0)
for(t in 2:T){
beta[j,t,s]~dnorm(beta[j,t-1,s], 0.01);T(,0)
}}
#
for(j in 13:p){
beta[j,1,s] ~ dnorm(mu.beta.one, 0.01)
for(t in 2:T){
beta[j,t,s]~dnorm(beta[j,t-1,s], 0.01)
}}}
#
# PRIORS ON ALPHA
#
for (s in 1:3){
# NON TWO-POINT SCALES
for (j in 1:2){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (c in K[j]:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
for (c in K[j]:6){
alpha[j, c, t, s] <- 0
}
}}
#
# TWO-POINT SCALES
for (j in 3:3){
alphastar[j, 1, 1, s] ~ dnorm(mu.alpha.one, 0.01)
alpha[j, 1, 1, s] <- alphastar[j, 1, 1, s]
for (c in 2:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
alphastar[j, 1, t, s] ~ dnorm(alphastar[j, 1, (t-1), s], 0.01)
alpha[j, 1, t, s] <- alphastar[j, 1, t, s]
for (c in 2:6){
alpha[j, c, t, s] <- 0
}
}}
#
for (j in 4:5){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (c in K[j]:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
for (c in K[j]:6){
alpha[j, c, t, s] <- 0
}
}}
#
for (j in 6:6){
alphastar[j, 1, 1, s] ~ dnorm(mu.alpha.one, 0.01)
alpha[j, 1, 1, s] <- alphastar[j, 1, 1, s]
for (c in 2:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
alphastar[j, 1, t, s] ~ dnorm(alphastar[j, 1, (t-1), s], 0.01)
alpha[j, 1, t, s] <- alphastar[j, 1, t, s]
for (c in 2:6){
alpha[j, c, t, s] <- 0
}
}}
#
for (j in 7:10){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (c in K[j]:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
for (c in K[j]:6){
alpha[j, c, t, s] <- 0
}
}}
#
## SEVEN-POINT SCALES
for (j in 11:17){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
}}
#
# NON TWO-POINT SCALES
for (j in 18:18){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (c in K[j]:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
for (c in K[j]:6){
alpha[j, c, t, s] <- 0
}
}}
#
## SEVEN-POINT SCALES
for (j in 19:19){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
}}
#
# NON TWO-POINT SCALES
for (j in 20:25){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (c in K[j]:6){
alpha[j, c, 1, s] <- 0
}
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
for (c in K[j]:6){
alpha[j, c, t, s] <- 0
}
}}
#
## SEVEN-POINT SCALES
for (j in 26:p){
for (c in 1:(K[j]-1)){
alphastar[j, c, 1, s] ~ dnorm(mu.alpha.one, 0.01)
}
alpha[j, 1:(K[j]-1), 1, s] <- sort(alphastar[j,1:(K[j]-1),1,s])
for (t in 2:T){
for (c in 1:(K[j]-1)){
alphastar[j, c, t, s] ~ dnorm(alphastar[j,c,(t-1),s], 0.01)
}
alpha[j,1:(K[j]-1),t,s] <- sort(alphastar[j,1:(K[j]-1),t,s])
}}
}
#
# HYPER PRIORS ON MEAN AND PRECISION TERMS
#
mu.alpha.one ~ dnorm(0, 1)
mu.beta.one ~ dnorm(0, 1)
#
}
#
# !!!!!!!!!!!!!!!!!!!
# !!!!!! emIRT !!!!!!
# !!!!!!!!!!!!!!!!!!!
#
YYY <- Y[,1]
YYYY <- Y[,11:16]
#
YYY[YYY==1] <- 1
YYY[YYY==2] <- 2
YYY[YYY==3] <- 2
YYY[YYY==4] <- 3
YYY[is.na(YYY)] <- 0
#
YYYY[YYYY<=3] <- 1
YYYY[YYYY==4] <- 2
YYYY[YYYY>=5] <- 3
YYYY[is.na(YYYY)] <- 0
#
newscales <- cbind(YYY,YYYY)
#
## Generate starts and priors
NN <- nrow(newscales)
JJ <- ncol(newscales)
cur <- vector(mode = "list")
cur$DD <- matrix(rep(0.5,JJ), ncol=1)
cur$tau <- matrix(rep(-0.5,JJ), ncol=1)
cur$beta <- matrix(runif(JJ,0,1), ncol=1)
cur$x <- matrix(runif(NN,-1,1), ncol=1)
priors <- vector(mode = "list")
priors$x <- list(mu = matrix(0,1,1), sigma = matrix(1,1,1) )
priors$beta <- list(mu = matrix(0,2,1), sigma = matrix(diag(25,2),2,2))
#
res <- ordIRT(.rc = newscales, .starts=cur, .priors=priors, .D = 1,
.control = {list(verbose = TRUE,
thresh = 1e-6, maxit = 5000)})
#
em.irt.idealpoints <- as.vector(res$means$x) * 0.932
#
if (cor(dat[,"guarjobs"], em.irt.idealpoints, use="complete") < 0) {em.irt.idealpoints <- -1 * em.irt.idealpoints}
#
# !!!!!!!!!!!!!!!!!!!
# !!!!!!!!!!!!!!!!!!!
#
alphastar.generator <- function(p.=p, T.=T){
    alphastar.mat <- list(NA)
      for (t in 1:T.){
        alphastar.mat[[t]] <- t(apply(matrix(rnorm(p.*6), nrow=p., ncol=6), 1, function(x) x <- sort(x)))
        alphastar.mat[[t]][1,4:6] <- NA
        alphastar.mat[[t]][2,4:6] <- NA
        alphastar.mat[[t]][3,2:6] <- NA
        alphastar.mat[[t]][4,4:6] <- NA
        alphastar.mat[[t]][5,3:6] <- NA
        alphastar.mat[[t]][6,2:6] <- NA
        alphastar.mat[[t]][7,3:6] <- NA
        alphastar.mat[[t]][8,5:6] <- NA
        alphastar.mat[[t]][9,3:6] <- NA
        alphastar.mat[[t]][10,3:6] <- NA
        alphastar.mat[[t]][18,5:6] <- NA
        alphastar.mat[[t]][20,5:6] <- NA
        alphastar.mat[[t]][21,5:6] <- NA
        alphastar.mat[[t]][22,5:6] <- NA
        alphastar.mat[[t]][23,5:6] <- NA
        alphastar.mat[[t]][24,5:6] <- NA
        alphastar.mat[[t]][25,5:6] <- NA
      }
  alphastar <- array(unlist(alphastar.mat), c(p., 6, T., 3))
  return(alphastar)
}
#
beta.generator <- function(p.=p, T.=T){
    beta <- matrix(rnorm(p.*T.), nrow=p., ncol=T.)
    beta[1,] <- -1 * abs(beta[1,])
    beta[2,] <- abs(beta[2,])
    beta[3,] <- abs(beta[3,])
    beta[4,] <- abs(beta[4,])
    beta[5,] <- abs(beta[5,])
    beta[6,] <- abs(beta[6,])
    beta[7,] <- abs(beta[7,])
    beta[8,] <- abs(beta[8,])
    beta[9,] <- abs(beta[9,])
    beta[10,] <- abs(beta[10,])
    beta[11,] <- abs(beta[11,])
    beta[12,] <- -1 * abs(beta[12,])
    beta[13,] <- abs(beta[13,])
    beta[14,] <- abs(beta[14,])
    beta[15,] <- abs(beta[15,])
    beta[16,] <- abs(beta[16,])
    beta[17,] <- abs(beta[17,])
    beta[18,] <- abs(beta[18,])
    beta[19,] <- abs(beta[19,])
    beta[20,] <- -1 * abs(beta[20,])
    beta[21,] <- abs(beta[21,])
    beta[22,] <- abs(beta[22,])
    beta[23,] <- abs(beta[23,])
    beta[24,] <- abs(beta[24,])
    beta[25,] <- abs(beta[25,])
    beta[26,] <- abs(beta[26,])
    beta[27,] <- abs(beta[27,])
    beta[28,] <- abs(beta[28,])
    beta <- array(unlist(beta), c(p., T., 3))
    return(beta)
}
#
inits <- function(){
  list(alphastar = alphastar.generator(),
       beta = beta.generator(),
       x = em.irt.idealpoints + rnorm(n,0,0.05))
}
#
# !!!!!!!!!!!!!!!!!!!
# !!!!!!!!!!!!!!!!!!!
#
samps_varyingslopesbysophis_evolutionvaiance_fixed_0.01 <- foreach(i = 1:3, .packages = c('dclone', 'rjags'),
              .combine = 'c', .final = mcmc.list) %dopar% {
                DOIRT.sim <- jags.fit(data = list(Y=Y, time=time, n=n, p=p, T=T, K=K, sophis=sophis,
				                      firs1984=firs1984, firs1988=firs1988,
				                      firs1992=firs1992, last1992=last1992,
				                      firs1996=firs1996, last1996=last1996,
				                      firs2000=firs2000, last2000=last2000,
				                      firs2004=firs2004, last2004=last2004,
				                      firs2008=firs2008, last2008=last2008),
			                      params = c("alpha", "beta", "x"),
                            model = doirt.model,
                            n.chains = 1,
                            n.adapt = 1500,
                            n.update = 1500,
                            n.iter = 1000,
                            thin = 5,
                            inits = inits)
                          }
#
# Write results to disk:
save(samps_varyingslopesbysophis_evolutionvaiance_fixed_0.01, file="Dropbox/mass_constraint/analysis/robustnesschecks/DOIRT_ANES_1980-2016_samps_varyingslopesbysophis_evolutionvaiance_fixed_0.01.Rda")
#
#load("Dropbox/mass_constraint/analysis/robustnesschecks/DOIRT_ANES_1980-2016_samps_varyingslopesbysophis_evolutionvaiance_fixed_0.01.Rda")
samps <- samps_varyingslopesbysophis_evolutionvaiance_fixed_0.01
#
#
#
#
#   MCMC DIAGNOSTICS
#
# Trace and Density Plots:
#
#windows()
#plot(samps[,paste("alpha[",sample(1:p,3),",1,",sample(1:T,3),",",sample(1:3,3),"]",sep="")])
#windows()
#plot(samps[,paste("beta[",sample(1:p,3),",",sample(1:T,3),",",sample(1:3,3),"]",sep="")])
#windows()
plot(samps[,paste("x[",sample(1:n,3),"]",sep="")])
#
# Autocorrelation Plots:
#
#windows()
#autocorr.plot(samps[,paste("alpha[",sample(1:p,3),",1,",sample(1:T,3),",",sample(1:3,3),"]",sep="")])
#windows()
#autocorr.plot(samps[,paste("beta[",sample(1:p,3),",",sample(1:T,3),",",sample(1:3,3),"]",sep="")])
#windows()
#autocorr.plot(samps[,paste("x[",sample(1:n,4),"]",sep="")])
#
# Geweke Diagnostic:
#
geweke_alpha <- geweke.diag(samps[,grep("alpha", colnames(samps[[1]]))])
geweke_alpha_values <- c(geweke_alpha[[1]]$z, geweke_alpha[[2]]$z)
geweke_alpha_values <- geweke_alpha_values[!is.na(geweke_alpha_values)]
#
length(geweke_alpha_values[abs(geweke_alpha_values) > 1.96]) / length(geweke_alpha_values)
#
geweke_beta <- geweke.diag(samps[,grep("beta", colnames(samps[[1]]))])
geweke_beta_values <- c(geweke_beta[[1]]$z, geweke_beta[[2]]$z)
geweke_beta_values <- geweke_beta_values[!is.na(geweke_beta_values)]
#
length(geweke_beta_values[abs(geweke_beta_values) > 1.96]) / length(geweke_beta_values)
#
geweke_x <- geweke.diag(samps[,grep("x", colnames(samps[[1]]))])
geweke_x_values <- c(geweke_x[[1]]$z, geweke_x[[2]]$z)
geweke_x_values <- geweke_x_values[!is.na(geweke_x_values)]
#
length(geweke_x_values[abs(geweke_x_values) > 1.96]) / length(geweke_x_values)
#
# Gelman-Rubin Diagnostic:
#
#gelman.diag(samps[,grep("beta", colnames(samps[[1]]))])
#
#
#
#   SUMMARIZE DATA
#
alpha.samps <- samps[,grep("alpha", colnames(samps[[1]]))]
beta.samps <- samps[,grep("beta", colnames(samps[[1]]))]
x.samps <- samps[,grep("x", colnames(samps[[1]]))]
#
alpha.summary <- summary(alpha.samps)
beta.summary <- summary(beta.samps)
x.summary <- summary(x.samps)
#
alpha.pointestimates <- alpha.summary[[1]][,1]
beta.pointestimates <- beta.summary[[1]][,1]
x.idealpoints <- x.summary[[1]][,1]
#
#
# Beta
#
beta_summary <- cbind(beta.summary[[1]][,1], beta.summary[[2]][,1], beta.summary[[2]][,5])
#
#
# Beta - Libcon
#
beta_libcon <- list(NA)
for (s in 1:3){
#
beta_libcon_1980.temp <- cbind(1980, beta_summary[paste("beta[11,1,",s,"]",sep=""),1], beta_summary[paste("beta[11,1,",s,"]",sep=""),2], beta_summary[paste("beta[11,1,",s,"]",sep=""),3])
beta_libcon_1984.temp <- cbind(1984, beta_summary[paste("beta[11,2,",s,"]",sep=""),1], beta_summary[paste("beta[11,2,",s,"]",sep=""),2], beta_summary[paste("beta[11,2,",s,"]",sep=""),3])
beta_libcon_1988.temp <- cbind(1988, beta_summary[paste("beta[11,3,",s,"]",sep=""),1], beta_summary[paste("beta[11,3,",s,"]",sep=""),2], beta_summary[paste("beta[11,3,",s,"]",sep=""),3])
beta_libcon_1992.temp <- cbind(1992, beta_summary[paste("beta[11,4,",s,"]",sep=""),1], beta_summary[paste("beta[11,4,",s,"]",sep=""),2], beta_summary[paste("beta[11,4,",s,"]",sep=""),3])
beta_libcon_1996.temp <- cbind(1996, beta_summary[paste("beta[11,5,",s,"]",sep=""),1], beta_summary[paste("beta[11,5,",s,"]",sep=""),2], beta_summary[paste("beta[11,5,",s,"]",sep=""),3])
beta_libcon_2000.temp <- cbind(2000, beta_summary[paste("beta[11,6,",s,"]",sep=""),1], beta_summary[paste("beta[11,6,",s,"]",sep=""),2], beta_summary[paste("beta[11,6,",s,"]",sep=""),3])
beta_libcon_2004.temp <- cbind(2004, beta_summary[paste("beta[11,7,",s,"]",sep=""),1], beta_summary[paste("beta[11,7,",s,"]",sep=""),2], beta_summary[paste("beta[11,7,",s,"]",sep=""),3])
beta_libcon_2008.temp <- cbind(2008, beta_summary[paste("beta[11,8,",s,"]",sep=""),1], beta_summary[paste("beta[11,8,",s,"]",sep=""),2], beta_summary[paste("beta[11,8,",s,"]",sep=""),3])
beta_libcon_2012.temp <- cbind(2012, beta_summary[paste("beta[11,9,",s,"]",sep=""),1], beta_summary[paste("beta[11,9,",s,"]",sep=""),2], beta_summary[paste("beta[11,9,",s,"]",sep=""),3])
beta_libcon_2016.temp <- cbind(2016, beta_summary[paste("beta[11,10,",s,"]",sep=""),1], beta_summary[paste("beta[11,10,",s,"]",sep=""),2], beta_summary[paste("beta[11,10,",s,"]",sep=""),3])
#
beta_libcon[[s]] <- data.frame(rbind(beta_libcon_1980.temp, beta_libcon_1984.temp, beta_libcon_1988.temp, beta_libcon_1992.temp, beta_libcon_1996.temp, beta_libcon_2000.temp,
    beta_libcon_2004.temp, beta_libcon_2008.temp, beta_libcon_2012.temp, beta_libcon_2016.temp))
}
#
beta_libcon <- data.frame(issue=rep("Liberal-Conservative ID",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_libcon))
#
#
# Beta - Abortion
#
beta_abortion <- list(NA)
for (s in 1:3){
#
beta_abortion_1980.temp <- cbind(1980, beta_summary[paste("beta[1,1,",s,"]",sep=""),1], beta_summary[paste("beta[1,1,",s,"]",sep=""),2], beta_summary[paste("beta[1,1,",s,"]",sep=""),3])
beta_abortion_1984.temp <- cbind(1984, beta_summary[paste("beta[1,2,",s,"]",sep=""),1], beta_summary[paste("beta[1,2,",s,"]",sep=""),2], beta_summary[paste("beta[1,2,",s,"]",sep=""),3])
beta_abortion_1988.temp <- cbind(1988, beta_summary[paste("beta[1,3,",s,"]",sep=""),1], beta_summary[paste("beta[1,3,",s,"]",sep=""),2], beta_summary[paste("beta[1,3,",s,"]",sep=""),3])
beta_abortion_1992.temp <- cbind(1992, beta_summary[paste("beta[1,4,",s,"]",sep=""),1], beta_summary[paste("beta[1,4,",s,"]",sep=""),2], beta_summary[paste("beta[1,4,",s,"]",sep=""),3])
beta_abortion_1996.temp <- cbind(1996, beta_summary[paste("beta[1,5,",s,"]",sep=""),1], beta_summary[paste("beta[1,5,",s,"]",sep=""),2], beta_summary[paste("beta[1,5,",s,"]",sep=""),3])
beta_abortion_2000.temp <- cbind(2000, beta_summary[paste("beta[1,6,",s,"]",sep=""),1], beta_summary[paste("beta[1,6,",s,"]",sep=""),2], beta_summary[paste("beta[1,6,",s,"]",sep=""),3])
beta_abortion_2004.temp <- cbind(2004, beta_summary[paste("beta[1,7,",s,"]",sep=""),1], beta_summary[paste("beta[1,7,",s,"]",sep=""),2], beta_summary[paste("beta[1,7,",s,"]",sep=""),3])
beta_abortion_2008.temp <- cbind(2008, beta_summary[paste("beta[1,8,",s,"]",sep=""),1], beta_summary[paste("beta[1,8,",s,"]",sep=""),2], beta_summary[paste("beta[1,8,",s,"]",sep=""),3])
beta_abortion_2012.temp <- cbind(2012, beta_summary[paste("beta[1,9,",s,"]",sep=""),1], beta_summary[paste("beta[1,9,",s,"]",sep=""),2], beta_summary[paste("beta[1,9,",s,"]",sep=""),3])
beta_abortion_2016.temp <- cbind(2016, beta_summary[paste("beta[1,10,",s,"]",sep=""),1], beta_summary[paste("beta[1,10,",s,"]",sep=""),2], beta_summary[paste("beta[1,10,",s,"]",sep=""),3])
#
beta_abortion[[s]] <- data.frame(rbind(beta_abortion_1980.temp, beta_abortion_1984.temp, beta_abortion_1988.temp, beta_abortion_1992.temp, beta_abortion_1996.temp, beta_abortion_2000.temp,
    beta_abortion_2004.temp, beta_abortion_2008.temp, beta_abortion_2012.temp, beta_abortion_2016.temp))
}
#
beta_abortion <- data.frame(issue=rep("Abortion",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_abortion))
#
#
# Beta - Gay Discrimination
#
beta_gaydisc <- list(NA)
for (s in 1:3){
#
beta_gaydisc_1980.temp <- cbind(1980, NA, NA, NA)
beta_gaydisc_1984.temp <- cbind(1984, NA, NA, NA)
beta_gaydisc_1988.temp <- cbind(1988, beta_summary[paste("beta[2,3,",s,"]",sep=""),1], beta_summary[paste("beta[2,3,",s,"]",sep=""),2], beta_summary[paste("beta[2,3,",s,"]",sep=""),3])
beta_gaydisc_1992.temp <- cbind(1992, beta_summary[paste("beta[2,4,",s,"]",sep=""),1], beta_summary[paste("beta[2,4,",s,"]",sep=""),2], beta_summary[paste("beta[2,4,",s,"]",sep=""),3])
beta_gaydisc_1996.temp <- cbind(1996, beta_summary[paste("beta[2,5,",s,"]",sep=""),1], beta_summary[paste("beta[2,5,",s,"]",sep=""),2], beta_summary[paste("beta[2,5,",s,"]",sep=""),3])
beta_gaydisc_2000.temp <- cbind(2000, beta_summary[paste("beta[2,6,",s,"]",sep=""),1], beta_summary[paste("beta[2,6,",s,"]",sep=""),2], beta_summary[paste("beta[2,6,",s,"]",sep=""),3])
beta_gaydisc_2004.temp <- cbind(2004, beta_summary[paste("beta[2,7,",s,"]",sep=""),1], beta_summary[paste("beta[2,7,",s,"]",sep=""),2], beta_summary[paste("beta[2,7,",s,"]",sep=""),3])
beta_gaydisc_2008.temp <- cbind(2008, beta_summary[paste("beta[2,8,",s,"]",sep=""),1], beta_summary[paste("beta[2,8,",s,"]",sep=""),2], beta_summary[paste("beta[2,8,",s,"]",sep=""),3])
beta_gaydisc_2012.temp <- cbind(2012, beta_summary[paste("beta[2,9,",s,"]",sep=""),1], beta_summary[paste("beta[2,9,",s,"]",sep=""),2], beta_summary[paste("beta[2,9,",s,"]",sep=""),3])
beta_gaydisc_2016.temp <- cbind(2016, beta_summary[paste("beta[2,10,",s,"]",sep=""),1], beta_summary[paste("beta[2,10,",s,"]",sep=""),2], beta_summary[paste("beta[2,10,",s,"]",sep=""),3])
#
beta_gaydisc[[s]] <- data.frame(rbind(beta_gaydisc_1980.temp, beta_gaydisc_1984.temp, beta_gaydisc_1988.temp, beta_gaydisc_1992.temp, beta_gaydisc_1996.temp, beta_gaydisc_2000.temp,
    beta_gaydisc_2004.temp, beta_gaydisc_2008.temp, beta_gaydisc_2012.temp, beta_gaydisc_2016.temp))
}
#
beta_gaydisc <- data.frame(issue=rep("Gay Discrimination",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_gaydisc))
#
#
# Beta - Gay Adoption
#
beta_gayadopt <- list(NA)
for (s in 1:3){
#
beta_gayadopt_1980.temp <- cbind(1980, NA, NA, NA)
beta_gayadopt_1984.temp <- cbind(1984, NA, NA, NA)
beta_gayadopt_1988.temp <- cbind(1988, NA, NA, NA)
beta_gayadopt_1992.temp <- cbind(1992, beta_summary[paste("beta[4,4,",s,"]",sep=""),1], beta_summary[paste("beta[4,4,",s,"]",sep=""),2], beta_summary[paste("beta[4,4,",s,"]",sep=""),3])
beta_gayadopt_1996.temp <- cbind(1996, NA, NA, NA)
beta_gayadopt_2000.temp <- cbind(2000, beta_summary[paste("beta[3,6,",s,"]",sep=""),1], beta_summary[paste("beta[3,6,",s,"]",sep=""),2], beta_summary[paste("beta[3,6,",s,"]",sep=""),3])
beta_gayadopt_2004.temp <- cbind(2004, beta_summary[paste("beta[3,7,",s,"]",sep=""),1], beta_summary[paste("beta[3,7,",s,"]",sep=""),2], beta_summary[paste("beta[3,7,",s,"]",sep=""),3])
beta_gayadopt_2008.temp <- cbind(2008, beta_summary[paste("beta[3,8,",s,"]",sep=""),1], beta_summary[paste("beta[3,8,",s,"]",sep=""),2], beta_summary[paste("beta[3,8,",s,"]",sep=""),3])
beta_gayadopt_2012.temp <- cbind(2012, beta_summary[paste("beta[3,9,",s,"]",sep=""),1], beta_summary[paste("beta[3,9,",s,"]",sep=""),2], beta_summary[paste("beta[3,9,",s,"]",sep=""),3])
beta_gayadopt_2016.temp <- cbind(2016, beta_summary[paste("beta[3,10,",s,"]",sep=""),1], beta_summary[paste("beta[3,10,",s,"]",sep=""),2], beta_summary[paste("beta[3,10,",s,"]",sep=""),3])
#
beta_gayadopt[[s]] <- data.frame(rbind(beta_gayadopt_1980.temp, beta_gayadopt_1984.temp, beta_gayadopt_1988.temp, beta_gayadopt_1992.temp, beta_gayadopt_1996.temp, beta_gayadopt_2000.temp,
    beta_gayadopt_2004.temp, beta_gayadopt_2008.temp, beta_gayadopt_2012.temp, beta_gayadopt_2016.temp))
}
#
beta_gayadopt <- data.frame(issue=rep("Gay Adoption",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_gayadopt))
#
#
# Beta - Gay Marriage
#
beta_gaymarriage <- list(NA)
for (s in 1:3){
#
beta_gaymarriage_1980.temp <- cbind(1980, NA, NA, NA)
beta_gaymarriage_1984.temp <- cbind(1984, NA, NA, NA)
beta_gaymarriage_1988.temp <- cbind(1988, NA, NA, NA)
beta_gaymarriage_1992.temp <- cbind(1992, NA, NA, NA)
beta_gaymarriage_1996.temp <- cbind(1996, NA, NA, NA)
beta_gaymarriage_2000.temp <- cbind(2000, NA, NA, NA)
beta_gaymarriage_2004.temp <- cbind(2004, beta_summary[paste("beta[5,7,",s,"]",sep=""),1], beta_summary[paste("beta[5,7,",s,"]",sep=""),2], beta_summary[paste("beta[5,7,",s,"]",sep=""),3])
beta_gaymarriage_2008.temp <- cbind(2008, beta_summary[paste("beta[5,8,",s,"]",sep=""),1], beta_summary[paste("beta[5,8,",s,"]",sep=""),2], beta_summary[paste("beta[5,8,",s,"]",sep=""),3])
beta_gaymarriage_2012.temp <- cbind(2012, beta_summary[paste("beta[5,9,",s,"]",sep=""),1], beta_summary[paste("beta[5,9,",s,"]",sep=""),2], beta_summary[paste("beta[5,9,",s,"]",sep=""),3])
beta_gaymarriage_2016.temp <- cbind(2016, beta_summary[paste("beta[5,10,",s,"]",sep=""),1], beta_summary[paste("beta[5,10,",s,"]",sep=""),2], beta_summary[paste("beta[5,10,",s,"]",sep=""),3])
#
beta_gaymarriage[[s]] <- data.frame(rbind(beta_gaymarriage_1980.temp, beta_gaymarriage_1984.temp, beta_gaymarriage_1988.temp, beta_gaymarriage_1992.temp, beta_gaymarriage_1996.temp, beta_gaymarriage_2000.temp,
    beta_gaymarriage_2004.temp, beta_gaymarriage_2008.temp, beta_gaymarriage_2012.temp, beta_gaymarriage_2016.temp))
}
#
beta_gaymarriage <- data.frame(issue=rep("Gay Marriage",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_gaymarriage))
#
#
# Beta - Gun Control
#
beta_guncontrol <- list(NA)
for (s in 1:3){
#
beta_guncontrol_1980.temp <- cbind(1980, NA, NA, NA)
beta_guncontrol_1984.temp <- cbind(1984, NA, NA, NA)
beta_guncontrol_1988.temp <- cbind(1988, NA, NA, NA)
beta_guncontrol_1992.temp <- cbind(1992, NA, NA, NA)
beta_guncontrol_1996.temp <- cbind(1996, beta_summary[paste("beta[6,5,",s,"]",sep=""),1], beta_summary[paste("beta[6,5,",s,"]",sep=""),2], beta_summary[paste("beta[6,5,",s,"]",sep=""),3])
beta_guncontrol_2000.temp <- cbind(2000, beta_summary[paste("beta[8,6,",s,"]",sep=""),1], beta_summary[paste("beta[8,6,",s,"]",sep=""),2], beta_summary[paste("beta[8,6,",s,"]",sep=""),3])
beta_guncontrol_2004.temp <- cbind(2004, beta_summary[paste("beta[8,7,",s,"]",sep=""),1], beta_summary[paste("beta[8,7,",s,"]",sep=""),2], beta_summary[paste("beta[8,7,",s,"]",sep=""),3])
beta_guncontrol_2008.temp <- cbind(2008, beta_summary[paste("beta[7,8,",s,"]",sep=""),1], beta_summary[paste("beta[7,8,",s,"]",sep=""),2], beta_summary[paste("beta[7,8,",s,"]",sep=""),3])
beta_guncontrol_2012.temp <- cbind(2012, beta_summary[paste("beta[7,9,",s,"]",sep=""),1], beta_summary[paste("beta[7,9,",s,"]",sep=""),2], beta_summary[paste("beta[7,9,",s,"]",sep=""),3])
beta_guncontrol_2016.temp <- cbind(2016, beta_summary[paste("beta[7,10,",s,"]",sep=""),1], beta_summary[paste("beta[7,10,",s,"]",sep=""),2], beta_summary[paste("beta[7,10,",s,"]",sep=""),3])
#
beta_guncontrol[[s]] <- data.frame(rbind(beta_guncontrol_1980.temp, beta_guncontrol_1984.temp, beta_guncontrol_1988.temp, beta_guncontrol_1992.temp, beta_guncontrol_1996.temp, beta_guncontrol_2000.temp,
    beta_guncontrol_2004.temp, beta_guncontrol_2008.temp, beta_guncontrol_2012.temp, beta_guncontrol_2016.temp))
}
#
beta_guncontrol <- data.frame(issue=rep("Gun Control",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_guncontrol))
#
#
# Beta - Environment-Jobs
#
beta_envjobs <- list(NA)
for (s in 1:3){
#
beta_envjobs_1980.temp <- cbind(1980, NA, NA, NA)
beta_envjobs_1984.temp <- cbind(1984, NA, NA, NA)
beta_envjobs_1988.temp <- cbind(1988, NA, NA, NA)
beta_envjobs_1992.temp <- cbind(1992, NA, NA, NA)
beta_envjobs_1996.temp <- cbind(1996, beta_summary[paste("beta[15,5,",s,"]",sep=""),1], beta_summary[paste("beta[15,5,",s,"]",sep=""),2], beta_summary[paste("beta[15,5,",s,"]",sep=""),3])
beta_envjobs_2000.temp <- cbind(2000, beta_summary[paste("beta[15,6,",s,"]",sep=""),1], beta_summary[paste("beta[15,6,",s,"]",sep=""),2], beta_summary[paste("beta[15,6,",s,"]",sep=""),3])
beta_envjobs_2004.temp <- cbind(2004, beta_summary[paste("beta[15,7,",s,"]",sep=""),1], beta_summary[paste("beta[15,7,",s,"]",sep=""),2], beta_summary[paste("beta[15,7,",s,"]",sep=""),3])
beta_envjobs_2008.temp <- cbind(2008, beta_summary[paste("beta[15,8,",s,"]",sep=""),1], beta_summary[paste("beta[15,8,",s,"]",sep=""),2], beta_summary[paste("beta[15,8,",s,"]",sep=""),3])
beta_envjobs_2012.temp <- cbind(2012, beta_summary[paste("beta[15,9,",s,"]",sep=""),1], beta_summary[paste("beta[15,9,",s,"]",sep=""),2], beta_summary[paste("beta[15,9,",s,"]",sep=""),3])
beta_envjobs_2016.temp <- cbind(2016, beta_summary[paste("beta[15,10,",s,"]",sep=""),1], beta_summary[paste("beta[15,10,",s,"]",sep=""),2], beta_summary[paste("beta[15,10,",s,"]",sep=""),3])
#
beta_envjobs[[s]] <- data.frame(rbind(beta_envjobs_1980.temp, beta_envjobs_1984.temp, beta_envjobs_1988.temp, beta_envjobs_1992.temp, beta_envjobs_1996.temp, beta_envjobs_2000.temp,
    beta_envjobs_2004.temp, beta_envjobs_2008.temp, beta_envjobs_2012.temp, beta_envjobs_2016.temp))
}
#
beta_envjobs <- data.frame(issue=rep("Environment-Jobs",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_envjobs))
#
#
# Beta - Government Spending and Services
#
beta_govtspend <- list(NA)
for (s in 1:3){
#
beta_govtspend_1980.temp <- cbind(1980, beta_summary[paste("beta[12,1,",s,"]",sep=""),1], beta_summary[paste("beta[12,1,",s,"]",sep=""),2], beta_summary[paste("beta[12,1,",s,"]",sep=""),3])
beta_govtspend_1984.temp <- cbind(1984, beta_summary[paste("beta[12,2,",s,"]",sep=""),1], beta_summary[paste("beta[12,2,",s,"]",sep=""),2], beta_summary[paste("beta[12,2,",s,"]",sep=""),3])
beta_govtspend_1988.temp <- cbind(1988, beta_summary[paste("beta[12,3,",s,"]",sep=""),1], beta_summary[paste("beta[12,3,",s,"]",sep=""),2], beta_summary[paste("beta[12,3,",s,"]",sep=""),3])
beta_govtspend_1992.temp <- cbind(1992, beta_summary[paste("beta[12,4,",s,"]",sep=""),1], beta_summary[paste("beta[12,4,",s,"]",sep=""),2], beta_summary[paste("beta[12,4,",s,"]",sep=""),3])
beta_govtspend_1996.temp <- cbind(1996, beta_summary[paste("beta[12,5,",s,"]",sep=""),1], beta_summary[paste("beta[12,5,",s,"]",sep=""),2], beta_summary[paste("beta[12,5,",s,"]",sep=""),3])
beta_govtspend_2000.temp <- cbind(2000, beta_summary[paste("beta[12,6,",s,"]",sep=""),1], beta_summary[paste("beta[12,6,",s,"]",sep=""),2], beta_summary[paste("beta[12,6,",s,"]",sep=""),3])
beta_govtspend_2004.temp <- cbind(2004, beta_summary[paste("beta[12,7,",s,"]",sep=""),1], beta_summary[paste("beta[12,7,",s,"]",sep=""),2], beta_summary[paste("beta[12,7,",s,"]",sep=""),3])
beta_govtspend_2008.temp <- cbind(2008, beta_summary[paste("beta[12,8,",s,"]",sep=""),1], beta_summary[paste("beta[12,8,",s,"]",sep=""),2], beta_summary[paste("beta[12,8,",s,"]",sep=""),3])
beta_govtspend_2012.temp <- cbind(2012, beta_summary[paste("beta[12,9,",s,"]",sep=""),1], beta_summary[paste("beta[12,9,",s,"]",sep=""),2], beta_summary[paste("beta[12,9,",s,"]",sep=""),3])
beta_govtspend_2016.temp <- cbind(2016, beta_summary[paste("beta[12,10,",s,"]",sep=""),1], beta_summary[paste("beta[12,10,",s,"]",sep=""),2], beta_summary[paste("beta[12,10,",s,"]",sep=""),3])
#
beta_govtspend[[s]] <- data.frame(rbind(beta_govtspend_1980.temp, beta_govtspend_1984.temp, beta_govtspend_1988.temp, beta_govtspend_1992.temp, beta_govtspend_1996.temp, beta_govtspend_2000.temp,
    beta_govtspend_2004.temp, beta_govtspend_2008.temp, beta_govtspend_2012.temp, beta_govtspend_2016.temp))
}
#
beta_govtspend <- data.frame(issue=rep("Govt Spending and Services",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_govtspend))
#
#
# Beta - Guaranteed Jobs
#
beta_guarjobs <- list(NA)
for (s in 1:3){
#
beta_guarjobs_1980.temp <- cbind(1980, beta_summary[paste("beta[13,1,",s,"]",sep=""),1], beta_summary[paste("beta[13,1,",s,"]",sep=""),2], beta_summary[paste("beta[13,1,",s,"]",sep=""),3])
beta_guarjobs_1984.temp <- cbind(1984, beta_summary[paste("beta[13,2,",s,"]",sep=""),1], beta_summary[paste("beta[13,2,",s,"]",sep=""),2], beta_summary[paste("beta[13,2,",s,"]",sep=""),3])
beta_guarjobs_1988.temp <- cbind(1988, beta_summary[paste("beta[13,3,",s,"]",sep=""),1], beta_summary[paste("beta[13,3,",s,"]",sep=""),2], beta_summary[paste("beta[13,3,",s,"]",sep=""),3])
beta_guarjobs_1992.temp <- cbind(1992, beta_summary[paste("beta[13,4,",s,"]",sep=""),1], beta_summary[paste("beta[13,4,",s,"]",sep=""),2], beta_summary[paste("beta[13,4,",s,"]",sep=""),3])
beta_guarjobs_1996.temp <- cbind(1996, beta_summary[paste("beta[13,5,",s,"]",sep=""),1], beta_summary[paste("beta[13,5,",s,"]",sep=""),2], beta_summary[paste("beta[13,5,",s,"]",sep=""),3])
beta_guarjobs_2000.temp <- cbind(2000, beta_summary[paste("beta[13,6,",s,"]",sep=""),1], beta_summary[paste("beta[13,6,",s,"]",sep=""),2], beta_summary[paste("beta[13,6,",s,"]",sep=""),3])
beta_guarjobs_2004.temp <- cbind(2004, beta_summary[paste("beta[13,7,",s,"]",sep=""),1], beta_summary[paste("beta[13,7,",s,"]",sep=""),2], beta_summary[paste("beta[13,7,",s,"]",sep=""),3])
beta_guarjobs_2008.temp <- cbind(2008, beta_summary[paste("beta[13,8,",s,"]",sep=""),1], beta_summary[paste("beta[13,8,",s,"]",sep=""),2], beta_summary[paste("beta[13,8,",s,"]",sep=""),3])
beta_guarjobs_2012.temp <- cbind(2012, beta_summary[paste("beta[13,9,",s,"]",sep=""),1], beta_summary[paste("beta[13,9,",s,"]",sep=""),2], beta_summary[paste("beta[13,9,",s,"]",sep=""),3])
beta_guarjobs_2016.temp <- cbind(2016, beta_summary[paste("beta[13,10,",s,"]",sep=""),1], beta_summary[paste("beta[13,10,",s,"]",sep=""),2], beta_summary[paste("beta[13,10,",s,"]",sep=""),3])
#
beta_guarjobs[[s]] <- data.frame(rbind(beta_guarjobs_1980.temp, beta_guarjobs_1984.temp, beta_guarjobs_1988.temp, beta_guarjobs_1992.temp, beta_guarjobs_1996.temp, beta_guarjobs_2000.temp,
    beta_guarjobs_2004.temp, beta_guarjobs_2008.temp, beta_guarjobs_2012.temp, beta_guarjobs_2016.temp))
}
#
beta_guarjobs <- data.frame(issue=rep("Guaranteed Jobs",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_guarjobs))
#
#
# Beta - Health Insurance
#
beta_healthins <- list(NA)
for (s in 1:3){
#
beta_healthins_1980.temp <- cbind(1980, NA, NA, NA)
beta_healthins_1984.temp <- cbind(1984, beta_summary[paste("beta[14,2,",s,"]",sep=""),1], beta_summary[paste("beta[14,2,",s,"]",sep=""),2], beta_summary[paste("beta[14,2,",s,"]",sep=""),3])
beta_healthins_1988.temp <- cbind(1988, beta_summary[paste("beta[14,3,",s,"]",sep=""),1], beta_summary[paste("beta[14,3,",s,"]",sep=""),2], beta_summary[paste("beta[14,3,",s,"]",sep=""),3])
beta_healthins_1992.temp <- cbind(1992, beta_summary[paste("beta[14,4,",s,"]",sep=""),1], beta_summary[paste("beta[14,4,",s,"]",sep=""),2], beta_summary[paste("beta[14,4,",s,"]",sep=""),3])
beta_healthins_1996.temp <- cbind(1996, beta_summary[paste("beta[14,5,",s,"]",sep=""),1], beta_summary[paste("beta[14,5,",s,"]",sep=""),2], beta_summary[paste("beta[14,5,",s,"]",sep=""),3])
beta_healthins_2000.temp <- cbind(2000, beta_summary[paste("beta[14,6,",s,"]",sep=""),1], beta_summary[paste("beta[14,6,",s,"]",sep=""),2], beta_summary[paste("beta[14,6,",s,"]",sep=""),3])
beta_healthins_2004.temp <- cbind(2004, beta_summary[paste("beta[14,7,",s,"]",sep=""),1], beta_summary[paste("beta[14,7,",s,"]",sep=""),2], beta_summary[paste("beta[14,7,",s,"]",sep=""),3])
beta_healthins_2008.temp <- cbind(2008, beta_summary[paste("beta[14,8,",s,"]",sep=""),1], beta_summary[paste("beta[14,8,",s,"]",sep=""),2], beta_summary[paste("beta[14,8,",s,"]",sep=""),3])
beta_healthins_2012.temp <- cbind(2012, beta_summary[paste("beta[14,9,",s,"]",sep=""),1], beta_summary[paste("beta[14,9,",s,"]",sep=""),2], beta_summary[paste("beta[14,9,",s,"]",sep=""),3])
beta_healthins_2016.temp <- cbind(2016, beta_summary[paste("beta[14,10,",s,"]",sep=""),1], beta_summary[paste("beta[14,10,",s,"]",sep=""),2], beta_summary[paste("beta[14,10,",s,"]",sep=""),3])
#
beta_healthins[[s]] <- data.frame(rbind(beta_healthins_1980.temp, beta_healthins_1984.temp, beta_healthins_1988.temp, beta_healthins_1992.temp, beta_healthins_1996.temp, beta_healthins_2000.temp,
    beta_healthins_2004.temp, beta_healthins_2008.temp, beta_healthins_2012.temp, beta_healthins_2016.temp))
}
#
beta_healthins <- data.frame(issue=rep("Health Insurance",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_healthins))
#
#
# Beta - Defense Spending
#
beta_defspend <- list(NA)
for (s in 1:3){
#
beta_defspend_1980.temp <- cbind(1980, beta_summary[paste("beta[17,1,",s,"]",sep=""),1], beta_summary[paste("beta[17,1,",s,"]",sep=""),2], beta_summary[paste("beta[17,1,",s,"]",sep=""),3])
beta_defspend_1984.temp <- cbind(1984, beta_summary[paste("beta[17,2,",s,"]",sep=""),1], beta_summary[paste("beta[17,2,",s,"]",sep=""),2], beta_summary[paste("beta[17,2,",s,"]",sep=""),3])
beta_defspend_1988.temp <- cbind(1988, beta_summary[paste("beta[17,3,",s,"]",sep=""),1], beta_summary[paste("beta[17,3,",s,"]",sep=""),2], beta_summary[paste("beta[17,3,",s,"]",sep=""),3])
beta_defspend_1992.temp <- cbind(1992, beta_summary[paste("beta[17,4,",s,"]",sep=""),1], beta_summary[paste("beta[17,4,",s,"]",sep=""),2], beta_summary[paste("beta[17,4,",s,"]",sep=""),3])
beta_defspend_1996.temp <- cbind(1996, beta_summary[paste("beta[17,5,",s,"]",sep=""),1], beta_summary[paste("beta[17,5,",s,"]",sep=""),2], beta_summary[paste("beta[17,5,",s,"]",sep=""),3])
beta_defspend_2000.temp <- cbind(2000, beta_summary[paste("beta[17,6,",s,"]",sep=""),1], beta_summary[paste("beta[17,6,",s,"]",sep=""),2], beta_summary[paste("beta[17,6,",s,"]",sep=""),3])
beta_defspend_2004.temp <- cbind(2004, beta_summary[paste("beta[17,7,",s,"]",sep=""),1], beta_summary[paste("beta[17,7,",s,"]",sep=""),2], beta_summary[paste("beta[17,7,",s,"]",sep=""),3])
beta_defspend_2008.temp <- cbind(2008, beta_summary[paste("beta[17,8,",s,"]",sep=""),1], beta_summary[paste("beta[17,8,",s,"]",sep=""),2], beta_summary[paste("beta[17,8,",s,"]",sep=""),3])
beta_defspend_2012.temp <- cbind(2012, beta_summary[paste("beta[17,9,",s,"]",sep=""),1], beta_summary[paste("beta[17,9,",s,"]",sep=""),2], beta_summary[paste("beta[17,9,",s,"]",sep=""),3])
beta_defspend_2016.temp <- cbind(2016, beta_summary[paste("beta[17,10,",s,"]",sep=""),1], beta_summary[paste("beta[17,10,",s,"]",sep=""),2], beta_summary[paste("beta[17,10,",s,"]",sep=""),3])
#
beta_defspend[[s]] <- data.frame(rbind(beta_defspend_1980.temp, beta_defspend_1984.temp, beta_defspend_1988.temp, beta_defspend_1992.temp, beta_defspend_1996.temp, beta_defspend_2000.temp,
    beta_defspend_2004.temp, beta_defspend_2008.temp, beta_defspend_2012.temp, beta_defspend_2016.temp))
}
#
beta_defspend <- data.frame(issue=rep("Defense Spending",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_defspend))
#
#
# Beta - Aid to Blacks
#
beta_aidblacks <- list(NA)
for (s in 1:3){
#
beta_aidblacks_1980.temp <- cbind(1980, beta_summary[paste("beta[16,1,",s,"]",sep=""),1], beta_summary[paste("beta[16,1,",s,"]",sep=""),2], beta_summary[paste("beta[16,1,",s,"]",sep=""),3])
beta_aidblacks_1984.temp <- cbind(1984, beta_summary[paste("beta[16,2,",s,"]",sep=""),1], beta_summary[paste("beta[16,2,",s,"]",sep=""),2], beta_summary[paste("beta[16,2,",s,"]",sep=""),3])
beta_aidblacks_1988.temp <- cbind(1988, beta_summary[paste("beta[16,3,",s,"]",sep=""),1], beta_summary[paste("beta[16,3,",s,"]",sep=""),2], beta_summary[paste("beta[16,3,",s,"]",sep=""),3])
beta_aidblacks_1992.temp <- cbind(1992, beta_summary[paste("beta[16,4,",s,"]",sep=""),1], beta_summary[paste("beta[16,4,",s,"]",sep=""),2], beta_summary[paste("beta[16,4,",s,"]",sep=""),3])
beta_aidblacks_1996.temp <- cbind(1996, beta_summary[paste("beta[16,5,",s,"]",sep=""),1], beta_summary[paste("beta[16,5,",s,"]",sep=""),2], beta_summary[paste("beta[16,5,",s,"]",sep=""),3])
beta_aidblacks_2000.temp <- cbind(2000, beta_summary[paste("beta[16,6,",s,"]",sep=""),1], beta_summary[paste("beta[16,6,",s,"]",sep=""),2], beta_summary[paste("beta[16,6,",s,"]",sep=""),3])
beta_aidblacks_2004.temp <- cbind(2004, beta_summary[paste("beta[16,7,",s,"]",sep=""),1], beta_summary[paste("beta[16,7,",s,"]",sep=""),2], beta_summary[paste("beta[16,7,",s,"]",sep=""),3])
beta_aidblacks_2008.temp <- cbind(2008, beta_summary[paste("beta[16,8,",s,"]",sep=""),1], beta_summary[paste("beta[16,8,",s,"]",sep=""),2], beta_summary[paste("beta[16,8,",s,"]",sep=""),3])
beta_aidblacks_2012.temp <- cbind(2012, beta_summary[paste("beta[16,9,",s,"]",sep=""),1], beta_summary[paste("beta[16,9,",s,"]",sep=""),2], beta_summary[paste("beta[16,9,",s,"]",sep=""),3])
beta_aidblacks_2016.temp <- cbind(2016, beta_summary[paste("beta[16,10,",s,"]",sep=""),1], beta_summary[paste("beta[16,10,",s,"]",sep=""),2], beta_summary[paste("beta[16,10,",s,"]",sep=""),3])
#
beta_aidblacks[[s]] <- data.frame(rbind(beta_aidblacks_1980.temp, beta_aidblacks_1984.temp, beta_aidblacks_1988.temp, beta_aidblacks_1992.temp, beta_aidblacks_1996.temp, beta_aidblacks_2000.temp,
    beta_aidblacks_2004.temp, beta_aidblacks_2008.temp, beta_aidblacks_2012.temp, beta_aidblacks_2016.temp))
}
#
beta_aidblacks <- data.frame(issue=rep("Aid to Blacks",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_aidblacks))
#
#
# Beta - Welfare Spending
#
beta_welfarespend <- list(NA)
for (s in 1:3){
#
beta_welfarespend_1980.temp <- cbind(1980, NA, NA, NA)
beta_welfarespend_1984.temp <- cbind(1984, NA, NA, NA)
beta_welfarespend_1988.temp <- cbind(1988, NA, NA, NA)
beta_welfarespend_1992.temp <- cbind(1992, beta_summary[paste("beta[9,4,",s,"]",sep=""),1], beta_summary[paste("beta[9,4,",s,"]",sep=""),2], beta_summary[paste("beta[9,4,",s,"]",sep=""),3])
beta_welfarespend_1996.temp <- cbind(1996, beta_summary[paste("beta[9,5,",s,"]",sep=""),1], beta_summary[paste("beta[9,5,",s,"]",sep=""),2], beta_summary[paste("beta[9,5,",s,"]",sep=""),3])
beta_welfarespend_2000.temp <- cbind(2000, beta_summary[paste("beta[9,6,",s,"]",sep=""),1], beta_summary[paste("beta[9,6,",s,"]",sep=""),2], beta_summary[paste("beta[9,6,",s,"]",sep=""),3])
beta_welfarespend_2004.temp <- cbind(2004, beta_summary[paste("beta[9,7,",s,"]",sep=""),1], beta_summary[paste("beta[9,7,",s,"]",sep=""),2], beta_summary[paste("beta[9,7,",s,"]",sep=""),3])
beta_welfarespend_2008.temp <- cbind(2008, beta_summary[paste("beta[9,8,",s,"]",sep=""),1], beta_summary[paste("beta[9,8,",s,"]",sep=""),2], beta_summary[paste("beta[9,8,",s,"]",sep=""),3])
beta_welfarespend_2012.temp <- cbind(2012, beta_summary[paste("beta[9,9,",s,"]",sep=""),1], beta_summary[paste("beta[9,9,",s,"]",sep=""),2], beta_summary[paste("beta[9,9,",s,"]",sep=""),3])
beta_welfarespend_2016.temp <- cbind(2016, beta_summary[paste("beta[9,10,",s,"]",sep=""),1], beta_summary[paste("beta[9,10,",s,"]",sep=""),2], beta_summary[paste("beta[9,10,",s,"]",sep=""),3])
#
beta_welfarespend[[s]] <- data.frame(rbind(beta_welfarespend_1980.temp, beta_welfarespend_1984.temp, beta_welfarespend_1988.temp, beta_welfarespend_1992.temp, beta_welfarespend_1996.temp, beta_welfarespend_2000.temp,
    beta_welfarespend_2004.temp, beta_welfarespend_2008.temp, beta_welfarespend_2012.temp, beta_welfarespend_2016.temp))
}
#
beta_welfarespend <- data.frame(issue=rep("Welfare Spending",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_welfarespend))
#
#
# Beta - Poor Spending
#
beta_poorspend <- list(NA)
for (s in 1:3){
#
beta_poorspend_1980.temp <- cbind(1980, NA, NA, NA)
beta_poorspend_1984.temp <- cbind(1984, NA, NA, NA)
beta_poorspend_1988.temp <- cbind(1988, NA, NA, NA)
beta_poorspend_1992.temp <- cbind(1992, beta_summary[paste("beta[10,4,",s,"]",sep=""),1], beta_summary[paste("beta[10,4,",s,"]",sep=""),2], beta_summary[paste("beta[10,4,",s,"]",sep=""),3])
beta_poorspend_1996.temp <- cbind(1996, beta_summary[paste("beta[10,5,",s,"]",sep=""),1], beta_summary[paste("beta[10,5,",s,"]",sep=""),2], beta_summary[paste("beta[10,5,",s,"]",sep=""),3])
beta_poorspend_2000.temp <- cbind(2000, beta_summary[paste("beta[10,6,",s,"]",sep=""),1], beta_summary[paste("beta[10,6,",s,"]",sep=""),2], beta_summary[paste("beta[10,6,",s,"]",sep=""),3])
beta_poorspend_2004.temp <- cbind(2004, beta_summary[paste("beta[10,7,",s,"]",sep=""),1], beta_summary[paste("beta[10,7,",s,"]",sep=""),2], beta_summary[paste("beta[10,7,",s,"]",sep=""),3])
beta_poorspend_2008.temp <- cbind(2008, beta_summary[paste("beta[10,8,",s,"]",sep=""),1], beta_summary[paste("beta[10,8,",s,"]",sep=""),2], beta_summary[paste("beta[10,8,",s,"]",sep=""),3])
beta_poorspend_2012.temp <- cbind(2012, beta_summary[paste("beta[10,9,",s,"]",sep=""),1], beta_summary[paste("beta[10,9,",s,"]",sep=""),2], beta_summary[paste("beta[10,9,",s,"]",sep=""),3])
beta_poorspend_2016.temp <- cbind(2016, beta_summary[paste("beta[10,10,",s,"]",sep=""),1], beta_summary[paste("beta[10,10,",s,"]",sep=""),2], beta_summary[paste("beta[10,10,",s,"]",sep=""),3])
#
beta_poorspend[[s]] <- data.frame(rbind(beta_poorspend_1980.temp, beta_poorspend_1984.temp, beta_poorspend_1988.temp, beta_poorspend_1992.temp, beta_poorspend_1996.temp, beta_poorspend_2000.temp,
    beta_poorspend_2004.temp, beta_poorspend_2008.temp, beta_poorspend_2012.temp, beta_poorspend_2016.temp))
}
#
beta_poorspend <- data.frame(issue=rep("Poor Spending",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_poorspend))
#
#
# Beta - Immigration
#
beta_immigration <- list(NA)
for (s in 1:3){
#
beta_immigration_1980.temp <- cbind(1980, NA, NA, NA)
beta_immigration_1984.temp <- cbind(1984, NA, NA, NA)
beta_immigration_1988.temp <- cbind(1988, NA, NA, NA)
beta_immigration_1992.temp <- cbind(1992, beta_summary[paste("beta[18,4,",s,"]",sep=""),1], beta_summary[paste("beta[18,4,",s,"]",sep=""),2], beta_summary[paste("beta[18,4,",s,"]",sep=""),3])
beta_immigration_1996.temp <- cbind(1996, beta_summary[paste("beta[18,5,",s,"]",sep=""),1], beta_summary[paste("beta[18,5,",s,"]",sep=""),2], beta_summary[paste("beta[18,5,",s,"]",sep=""),3])
beta_immigration_2000.temp <- cbind(2000, beta_summary[paste("beta[18,6,",s,"]",sep=""),1], beta_summary[paste("beta[18,6,",s,"]",sep=""),2], beta_summary[paste("beta[18,6,",s,"]",sep=""),3])
beta_immigration_2004.temp <- cbind(2004, beta_summary[paste("beta[18,7,",s,"]",sep=""),1], beta_summary[paste("beta[18,7,",s,"]",sep=""),2], beta_summary[paste("beta[18,7,",s,"]",sep=""),3])
beta_immigration_2008.temp <- cbind(2008, beta_summary[paste("beta[18,8,",s,"]",sep=""),1], beta_summary[paste("beta[18,8,",s,"]",sep=""),2], beta_summary[paste("beta[18,8,",s,"]",sep=""),3])
beta_immigration_2012.temp <- cbind(2012, beta_summary[paste("beta[18,9,",s,"]",sep=""),1], beta_summary[paste("beta[18,9,",s,"]",sep=""),2], beta_summary[paste("beta[18,9,",s,"]",sep=""),3])
beta_immigration_2016.temp <- cbind(2016, beta_summary[paste("beta[18,10,",s,"]",sep=""),1], beta_summary[paste("beta[18,10,",s,"]",sep=""),2], beta_summary[paste("beta[18,10,",s,"]",sep=""),3])
#
beta_immigration[[s]] <- data.frame(rbind(beta_immigration_1980.temp, beta_immigration_1984.temp, beta_immigration_1988.temp, beta_immigration_1992.temp, beta_immigration_1996.temp, beta_immigration_2000.temp,
    beta_immigration_2004.temp, beta_immigration_2008.temp, beta_immigration_2012.temp, beta_immigration_2016.temp))
}
#
beta_immigration <- data.frame(issue=rep("Immigration",30), sophistication=c(rep("Low",10),rep("Middle",10),rep("High",10)), do.call(rbind, beta_immigration))
#
#
#
# Combine Betas
#
betamat <- rbind(beta_libcon, beta_abortion, beta_gaydisc, beta_gayadopt, beta_gaymarriage,
  beta_guncontrol, beta_envjobs, beta_govtspend, beta_guarjobs, beta_healthins,
  beta_defspend, beta_aidblacks, beta_welfarespend, beta_poorspend, beta_immigration)
#
names(betamat) <- c("issue", "Sophistication", "year", "betapoint", "betalow", "betahigh")
#
betamat$Sophistication <- factor(betamat$Sophistication, levels=c("High","Middle","Low"))
betamat$year <- as.numeric(as.character(betamat$year))
betamat$betapoint <- as.numeric(as.character(betamat$betapoint))
betamat$betalow <- as.numeric(as.character(betamat$betalow))
betamat$betahigh <- as.numeric(as.character(betamat$betahigh))
#
# Make sure all discrimination parameters are positive (absolute values)
for (i in 1:nrow(betamat)){
    if (!is.na(betamat$betapoint[i]) & betamat$betapoint[i] < 0) {betamat[i,4:6] <- -1 * betamat[i,4:6]}
}
#
#
pdf("Dropbox/mass_constraint/images/DOIRT_discparams_bysophis_evolutionvariancefixed_0.01.pdf", height=9.5, width=7.25)
#
ggplot(na.omit(betamat), aes(x=year, y=betapoint, color=Sophistication, fill=Sophistication)) +
  geom_pointrange(aes(ymin = betalow, ymax = betahigh), shape=21, fatten=2.5, size=0.65, position = position_dodge(width = 1/2)) +
  facet_wrap(~issue, nrow=5) +
  theme_bw() +
  xlab("\n Year") +
  ylab(expression(atop("Discrimination parameter (" *beta[jts] *")",""))) +
  ggtitle("American National Election Studies: 1980-2016\n") +
  theme(plot.title = element_text(hjust = 0.5)) +
  labs(caption="\nBars show 95% credible intervals.", fill="Political\nsophistication\n") +
  scale_color_viridis(begin = 0.8, end = 0.2, discrete = TRUE, option = "D", guide = FALSE) +
  scale_fill_viridis(begin = 0.8, end = 0.2, discrete = TRUE, option = "D", guide = "legend")
#
dev.off()
#
#
#
# Tracking mass ideological polarization
#
polarization.df <- data.frame(idealpoint=scale(x.idealpoints),
  sophistication=factor(sophis, labels=c("low","mid","high")),
  partyid=party7[!is.na(sophis2)],
  time=time[!is.na(sophis2)])
#
polarization.df$party3 <- NA
polarization.df$party3[polarization.df$partyid<=3] <- "Democrats"
polarization.df$party3[polarization.df$partyid>=5] <- "Republicans"
#
polarization.df2 <- na.omit(polarization.df) %>%
  dplyr::group_by(party3,time) %>%
  dplyr::summarize(median = quantile(idealpoint, probs = c(0.5)), lower = quantile(idealpoint, probs = c(0.1)), upper = quantile(idealpoint, probs = c(0.9)))
polarization.df2$year <- rep(seq(1980,2016,by=4),2)
#
polarization.df2$party3 <- factor(polarization.df2$party3, levels=c("Republicans", "Democrats"))
#
#
pdf("Dropbox/mass_constraint/images/DOIRT_masspolarization_usingsophisidealpoints_evolutionvariancefixed_0.01.pdf", height=6.2, width=6.0)
#
ggplot(na.omit(polarization.df2), aes(x=year)) +
  geom_ribbon(aes(ymin=lower, ymax=upper, fill=party3), alpha=0.2) +
  geom_line(aes(y=median, color=party3), lwd=2) +
  scale_color_viridis(option="C", begin=0.2, end=0.8, discrete=TRUE) +
  scale_fill_viridis(option="C", begin=0.2, end=0.8, discrete=TRUE) +
  xlab("\nYear") +
  ylab(expression(atop("Ideological ideal point (" *theta[i] *")",""))) +
  ggtitle("American National Election Studies: 1980-2016") +
  labs(subtitle="Party medians with 10-90% bounds\n", caption="\nIncludes party identifiers and leaners.") +
  theme(plot.title = element_text(hjust = 0.5), plot.subtitle = element_text(hjust = 0.5), legend.position="top", legend.box = "horizontal", legend.title=element_blank())
#
dev.off()
#
#
#
# CORE VALUES AND PARTY ID
#
values.df <- data.frame(idealpoint=scale(x.idealpoints),
  sophistication=factor(sophis, labels=c("low","mid","high")),
  partyid=scale(party7[!is.na(sophis2)]),
  moraltraditionalism=scale(moraltraditionalism[!is.na(sophis2)]),
  egalitarianism=scale(egalitarianism[!is.na(sophis2)]),
  time=time[!is.na(sophis2)])
#
values.df <- na.omit(values.df)
#
# R2 values (model fits, regressing ideal points on values and party)
#
ols.partyonly.low.1988 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==3))
ols.partyonly.low.1992 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==4))
ols.partyonly.low.1996 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==5))
ols.partyonly.low.2000 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==6))
ols.partyonly.low.2004 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==7))
ols.partyonly.low.2008 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==8))
ols.partyonly.low.2012 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==9))
ols.partyonly.low.2016 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="low" & time==10))
#
ols.valuesonly.low.1988 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==3))
ols.valuesonly.low.1992 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==4))
ols.valuesonly.low.1996 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==5))
ols.valuesonly.low.2000 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==6))
ols.valuesonly.low.2004 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==7))
ols.valuesonly.low.2008 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==8))
ols.valuesonly.low.2012 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==9))
ols.valuesonly.low.2016 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==10))
#
ols.partyvalues.low.1988 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==3))
ols.partyvalues.low.1992 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==4))
ols.partyvalues.low.1996 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==5))
ols.partyvalues.low.2000 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==6))
ols.partyvalues.low.2004 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==7))
ols.partyvalues.low.2008 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==8))
ols.partyvalues.low.2012 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==9))
ols.partyvalues.low.2016 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="low" & time==10))
#
ols.partyonly.mid.1988 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==3))
ols.partyonly.mid.1992 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==4))
ols.partyonly.mid.1996 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==5))
ols.partyonly.mid.2000 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==6))
ols.partyonly.mid.2004 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==7))
ols.partyonly.mid.2008 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==8))
ols.partyonly.mid.2012 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==9))
ols.partyonly.mid.2016 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="mid" & time==10))
#
ols.valuesonly.mid.1988 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==3))
ols.valuesonly.mid.1992 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==4))
ols.valuesonly.mid.1996 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==5))
ols.valuesonly.mid.2000 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==6))
ols.valuesonly.mid.2004 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==7))
ols.valuesonly.mid.2008 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==8))
ols.valuesonly.mid.2012 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==9))
ols.valuesonly.mid.2016 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==10))
#
ols.partyvalues.mid.1988 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==3))
ols.partyvalues.mid.1992 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==4))
ols.partyvalues.mid.1996 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==5))
ols.partyvalues.mid.2000 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==6))
ols.partyvalues.mid.2004 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==7))
ols.partyvalues.mid.2008 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==8))
ols.partyvalues.mid.2012 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==9))
ols.partyvalues.mid.2016 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="mid" & time==10))
#
ols.partyonly.high.1988 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==3))
ols.partyonly.high.1992 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==4))
ols.partyonly.high.1996 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==5))
ols.partyonly.high.2000 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==6))
ols.partyonly.high.2004 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==7))
ols.partyonly.high.2008 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==8))
ols.partyonly.high.2012 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==9))
ols.partyonly.high.2016 <- lm(idealpoint ~ partyid, data=subset(values.df, sophistication=="high" & time==10))
#
ols.valuesonly.high.1988 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==3))
ols.valuesonly.high.1992 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==4))
ols.valuesonly.high.1996 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==5))
ols.valuesonly.high.2000 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==6))
ols.valuesonly.high.2004 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==7))
ols.valuesonly.high.2008 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==8))
ols.valuesonly.high.2012 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==9))
ols.valuesonly.high.2016 <- lm(idealpoint ~ egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==10))
#
ols.partyvalues.high.1988 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==3))
ols.partyvalues.high.1992 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==4))
ols.partyvalues.high.1996 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==5))
ols.partyvalues.high.2000 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==6))
ols.partyvalues.high.2004 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==7))
ols.partyvalues.high.2008 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==8))
ols.partyvalues.high.2012 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==9))
ols.partyvalues.high.2016 <- lm(idealpoint ~ partyid + egalitarianism + moraltraditionalism, data=subset(values.df, sophistication=="high" & time==10))
#
#
r2.ols.valuesparty.low <- data.frame(sophistication="Low Sophistication", year=seq(1988,2016,by=4),
  r2.partyonly=c(summary(ols.partyonly.low.1988)$r.squared, summary(ols.partyonly.low.1992)$r.squared, summary(ols.partyonly.low.1996)$r.squared, summary(ols.partyonly.low.2000)$r.squared, summary(ols.partyonly.low.2004)$r.squared, summary(ols.partyonly.low.2008)$r.squared, summary(ols.partyonly.low.2012)$r.squared, summary(ols.partyonly.low.2016)$r.squared),
  r2.valuesonly=c(summary(ols.valuesonly.low.1988)$r.squared, summary(ols.valuesonly.low.1992)$r.squared, summary(ols.valuesonly.low.1996)$r.squared, summary(ols.valuesonly.low.2000)$r.squared, summary(ols.valuesonly.low.2004)$r.squared, summary(ols.valuesonly.low.2008)$r.squared, summary(ols.valuesonly.low.2012)$r.squared, summary(ols.valuesonly.low.2016)$r.squared),
  r2.partyvalues=c(summary(ols.partyvalues.low.1988)$r.squared, summary(ols.partyvalues.low.1992)$r.squared, summary(ols.partyvalues.low.1996)$r.squared, summary(ols.partyvalues.low.2000)$r.squared, summary(ols.partyvalues.low.2004)$r.squared, summary(ols.partyvalues.low.2008)$r.squared, summary(ols.partyvalues.low.2012)$r.squared, summary(ols.partyvalues.low.2016)$r.squared))
#
r2.ols.valuesparty.mid <- data.frame(sophistication="Middle Sophistication", year=seq(1988,2016,by=4),
  r2.partyonly=c(summary(ols.partyonly.mid.1988)$r.squared, summary(ols.partyonly.mid.1992)$r.squared, summary(ols.partyonly.mid.1996)$r.squared, summary(ols.partyonly.mid.2000)$r.squared, summary(ols.partyonly.mid.2004)$r.squared, summary(ols.partyonly.mid.2008)$r.squared, summary(ols.partyonly.mid.2012)$r.squared, summary(ols.partyonly.mid.2016)$r.squared),
  r2.valuesonly=c(summary(ols.valuesonly.mid.1988)$r.squared, summary(ols.valuesonly.mid.1992)$r.squared, summary(ols.valuesonly.mid.1996)$r.squared, summary(ols.valuesonly.mid.2000)$r.squared, summary(ols.valuesonly.mid.2004)$r.squared, summary(ols.valuesonly.mid.2008)$r.squared, summary(ols.valuesonly.mid.2012)$r.squared, summary(ols.valuesonly.mid.2016)$r.squared),
  r2.partyvalues=c(summary(ols.partyvalues.mid.1988)$r.squared, summary(ols.partyvalues.mid.1992)$r.squared, summary(ols.partyvalues.mid.1996)$r.squared, summary(ols.partyvalues.mid.2000)$r.squared, summary(ols.partyvalues.mid.2004)$r.squared, summary(ols.partyvalues.mid.2008)$r.squared, summary(ols.partyvalues.mid.2012)$r.squared, summary(ols.partyvalues.mid.2016)$r.squared))
#
r2.ols.valuesparty.high <- data.frame(sophistication="High Sophistication", year=seq(1988,2016,by=4),
  r2.partyonly=c(summary(ols.partyonly.high.1988)$r.squared, summary(ols.partyonly.high.1992)$r.squared, summary(ols.partyonly.high.1996)$r.squared, summary(ols.partyonly.high.2000)$r.squared, summary(ols.partyonly.high.2004)$r.squared, summary(ols.partyonly.high.2008)$r.squared, summary(ols.partyonly.high.2012)$r.squared, summary(ols.partyonly.high.2016)$r.squared),
  r2.valuesonly=c(summary(ols.valuesonly.high.1988)$r.squared, summary(ols.valuesonly.high.1992)$r.squared, summary(ols.valuesonly.high.1996)$r.squared, summary(ols.valuesonly.high.2000)$r.squared, summary(ols.valuesonly.high.2004)$r.squared, summary(ols.valuesonly.high.2008)$r.squared, summary(ols.valuesonly.high.2012)$r.squared, summary(ols.valuesonly.high.2016)$r.squared),
  r2.partyvalues=c(summary(ols.partyvalues.high.1988)$r.squared, summary(ols.partyvalues.high.1992)$r.squared, summary(ols.partyvalues.high.1996)$r.squared, summary(ols.partyvalues.high.2000)$r.squared, summary(ols.partyvalues.high.2004)$r.squared, summary(ols.partyvalues.high.2008)$r.squared, summary(ols.partyvalues.high.2012)$r.squared, summary(ols.partyvalues.high.2016)$r.squared))
#
#
r2.ols.valuesparty <- rbind(r2.ols.valuesparty.low, r2.ols.valuesparty.mid, r2.ols.valuesparty.high)
melted.r2.ols.valuesparty <- melt(r2.ols.valuesparty, id.vars=c("sophistication","year"))
#
melted.r2.ols.valuesparty$variable <- as.character(melted.r2.ols.valuesparty$variable)
melted.r2.ols.valuesparty$variable[melted.r2.ols.valuesparty$variable=="r2.partyonly"] <- "Party Only"
melted.r2.ols.valuesparty$variable[melted.r2.ols.valuesparty$variable=="r2.valuesonly"] <- "Core Values Only"
melted.r2.ols.valuesparty$variable[melted.r2.ols.valuesparty$variable=="r2.partyvalues"] <- "Party + Core Values"
#
melted.r2.ols.valuesparty$variable <- factor(melted.r2.ols.valuesparty$variable, levels=c("Party + Core Values", "Core Values Only", "Party Only"))
melted.r2.ols.valuesparty$sophistication <- factor(melted.r2.ols.valuesparty$sophistication, levels=c("Low Sophistication", "Middle Sophistication", "High Sophistication"))
#
pdf("Dropbox/mass_constraint/images/DOIRT_valuespartyfits_bysophis_evolutionvariancefixed_0.01.pdf", height=4.3, width=7.8)
#
ggplot(melted.r2.ols.valuesparty, aes(x=year, y=value, fill=variable)) +
    geom_area(position="identity", alpha=0.6 , size=1, colour="black") +
    facet_wrap(~sophistication) +
    theme(legend.position="bottom", legend.title = element_blank()) +
    xlab("\nYear") +
    ylab(expression(atop(R^2))) +
    ggtitle("American National Election Studies: 1988-2016\n") +
    labs(caption = "\nCore values include egalitarianism and moral traditionalism indices.") +
    theme(plot.title = element_text(hjust = 0.5)) +
    scale_fill_viridis(begin = 0.2, end = 0.8, direction = -1, discrete = TRUE, option = "C", guide = "legend") +
    ylim(0,0.8)
#
dev.off()
#
#
# Correlations between ideal points and values/party
#
values.cor.low.df <- data.frame(sophistication="Low", time=seq(1988,2016,4), factor=c(rep("Party Identification",8), rep("Egalitarianism",8), rep("Moral Traditionalism",8)), cor=c(
  with(subset(values.df, sophistication=="low" & time==3), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==4), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==5), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==6), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==7), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==8), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==9), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==10), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="low" & time==3), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==4), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==5), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==6), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==7), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==8), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==9), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==10), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="low" & time==3), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==4), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==5), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==6), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==7), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==8), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==9), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="low" & time==10), cor(idealpoint, moraltraditionalism))))
#
values.cor.low.df$partialcorrelation <- c(
  with(subset(values.df, sophistication=="low" & time==3), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==4), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==5), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==6), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==7), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==8), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==9), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==10), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==3), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==4), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==5), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==6), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==7), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==8), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==9), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==10), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==3), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==4), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==5), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==6), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==7), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==8), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==9), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="low" & time==10), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate))
#
values.cor.mid.df <- data.frame(sophistication="Middle", time=seq(1988,2016,4), factor=c(rep("Party Identification",8), rep("Egalitarianism",8), rep("Moral Traditionalism",8)), cor=c(
  with(subset(values.df, sophistication=="mid" & time==3), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==4), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==5), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==6), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==7), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==8), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==9), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==10), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="mid" & time==3), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==4), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==5), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==6), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==7), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==8), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==9), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==10), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="mid" & time==3), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==4), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==5), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==6), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==7), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==8), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==9), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="mid" & time==10), cor(idealpoint, moraltraditionalism))))
#
values.cor.mid.df$partialcorrelation <- c(
  with(subset(values.df, sophistication=="mid" & time==3), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==4), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==5), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==6), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==7), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==8), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==9), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==10), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==3), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==4), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==5), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==6), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==7), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==8), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==9), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==10), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==3), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==4), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==5), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==6), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==7), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==8), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==9), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="mid" & time==10), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate))
#
values.cor.high.df <- data.frame(sophistication="High", time=seq(1988,2016,4), factor=c(rep("Party Identification",8), rep("Egalitarianism",8), rep("Moral Traditionalism",8)), cor=c(
  with(subset(values.df, sophistication=="high" & time==3), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==4), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==5), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==6), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==7), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==8), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==9), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==10), cor(idealpoint, partyid)),
  with(subset(values.df, sophistication=="high" & time==3), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==4), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==5), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==6), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==7), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==8), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==9), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==10), cor(idealpoint, egalitarianism)),
  with(subset(values.df, sophistication=="high" & time==3), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==4), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==5), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==6), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==7), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==8), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==9), cor(idealpoint, moraltraditionalism)),
  with(subset(values.df, sophistication=="high" & time==10), cor(idealpoint, moraltraditionalism))))
#
values.cor.high.df$partialcorrelation <- c(
  with(subset(values.df, sophistication=="high" & time==3), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==4), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==5), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==6), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==7), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==8), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==9), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==10), pcor.test(idealpoint, partyid, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==3), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==4), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==5), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==6), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==7), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==8), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==9), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==10), pcor.test(idealpoint, egalitarianism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==3), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==4), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==5), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==6), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==7), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==8), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==9), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate),
  with(subset(values.df, sophistication=="high" & time==10), pcor.test(idealpoint, moraltraditionalism, partyid)$estimate))
#
values.cor.low.df$lower <- c(
  with(subset(values.df, sophistication=="low" & time==3), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==4), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==5), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==6), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==7), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==8), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==9), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==10), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==3), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==4), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==5), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==6), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==7), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==8), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==9), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==10), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==3), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==4), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==5), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==6), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==7), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==8), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==9), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="low" & time==10), cor.test(idealpoint, moraltraditionalism))$conf.int[1])
#
values.cor.low.df$upper <- c(
  with(subset(values.df, sophistication=="low" & time==3), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==4), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==5), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==6), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==7), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==8), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==9), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==10), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==3), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==4), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==5), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==6), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==7), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==8), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==9), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==10), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==3), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==4), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==5), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==6), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==7), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==8), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==9), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="low" & time==10), cor.test(idealpoint, moraltraditionalism))$conf.int[2])
#
#
values.cor.mid.df$lower <- c(
  with(subset(values.df, sophistication=="mid" & time==3), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==4), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==5), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==6), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==7), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==8), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==9), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==10), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==3), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==4), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==5), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==6), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==7), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==8), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==9), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==10), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==3), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==4), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==5), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==6), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==7), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==8), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==9), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="mid" & time==10), cor.test(idealpoint, moraltraditionalism))$conf.int[1])
#
values.cor.mid.df$upper <- c(
  with(subset(values.df, sophistication=="mid" & time==3), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==4), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==5), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==6), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==7), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==8), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==9), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==10), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==3), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==4), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==5), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==6), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==7), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==8), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==9), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==10), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==3), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==4), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==5), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==6), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==7), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==8), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==9), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="mid" & time==10), cor.test(idealpoint, moraltraditionalism))$conf.int[2])
#
#
values.cor.high.df$lower <- c(
  with(subset(values.df, sophistication=="high" & time==3), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==4), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==5), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==6), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==7), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==8), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==9), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==10), cor.test(idealpoint, partyid))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==3), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==4), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==5), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==6), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==7), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==8), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==9), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==10), cor.test(idealpoint, egalitarianism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==3), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==4), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==5), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==6), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==7), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==8), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==9), cor.test(idealpoint, moraltraditionalism))$conf.int[1],
  with(subset(values.df, sophistication=="high" & time==10), cor.test(idealpoint, moraltraditionalism))$conf.int[1])
#
values.cor.high.df$upper <- c(
  with(subset(values.df, sophistication=="high" & time==3), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==4), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==5), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==6), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==7), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==8), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==9), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==10), cor.test(idealpoint, partyid))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==3), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==4), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==5), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==6), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==7), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==8), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==9), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==10), cor.test(idealpoint, egalitarianism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==3), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==4), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==5), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==6), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==7), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==8), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==9), cor.test(idealpoint, moraltraditionalism))$conf.int[2],
  with(subset(values.df, sophistication=="high" & time==10), cor.test(idealpoint, moraltraditionalism))$conf.int[2])
#
values.cor.df <- rbind(values.cor.low.df, values.cor.mid.df, values.cor.high.df)
values.cor.df$sophistication <- as.character(values.cor.df$sophistication)
values.cor.df$sophistication[values.cor.df$sophistication=="Low"] <- "Low Sophistication"
values.cor.df$sophistication[values.cor.df$sophistication=="Middle"] <- "Middle Sophistication"
values.cor.df$sophistication[values.cor.df$sophistication=="High"] <- "High Sophistication"
values.cor.df$sophistication <- factor(values.cor.df$sophistication, levels=c("Low Sophistication", "Middle Sophistication", "High Sophistication"))
#
melted.values.cor.df <- melt(values.cor.df, id.vars=c("factor", "sophistication", "time"))
melted.values.cor.df$Correlation <- as.character(melted.values.cor.df$variable)
melted.values.cor.df$Correlation[melted.values.cor.df$Correlation=="cor"] <- "Bivariate"
melted.values.cor.df$Correlation[melted.values.cor.df$Correlation=="partialcorrelation"] <- "Partial"
#
melted.values.cor.df$lower <- rep(melted.values.cor.df$value[melted.values.cor.df$variable=="lower"], 4)
melted.values.cor.df$upper <- rep(melted.values.cor.df$value[melted.values.cor.df$variable=="upper"], 4)
#
melted.values.cor.df <- melted.values.cor.df[-which(melted.values.cor.df$factor=="Party Identification" & melted.values.cor.df$variable=="partialcorrelation"),]
#
#
pdf("Dropbox/mass_constraint/images/DOIRT_valuespartycor_bysophis_evolutionvariancefixed_0.01.pdf", height=7.0, width=6.5)
#
ggplot(values.cor.df, aes(x=time, y=cor, color=sophistication, fill=sophistication)) +
  geom_pointrange(aes(ymin = lower, ymax = upper), shape=21, fatten=2.5, size=0.65, position = position_dodge(width = 1/2)) +
  facet_wrap(~factor+sophistication, nrow=3) +
  theme_bw() +
  ylim(0,0.85) +
  xlab("\n Year") +
  ylab(expression(atop("Pearson correlation with " *theta[i],""))) +
  ggtitle("American National Election Studies: 1988-2016\n") +
  labs(caption="\nBars show 95% confidence intervals.") +
  theme(plot.title = element_text(hjust = 0.5)) +
  scale_color_viridis(begin = 0.2, end = 0.8, direction = 1, discrete = TRUE, option = "D", guide = "none") +
  scale_fill_viridis(begin = 0.2, end = 0.8, direction = 1, discrete = TRUE, option = "D", guide = "none")
#
dev.off()
#
#
pdf("Dropbox/mass_constraint/images/DOIRT_valuespartycor_bysophis_partial_evolutionvariancefixed_0.01.pdf", height=7.0, width=6.5)
#
ggplot(subset(melted.values.cor.df, Correlation %in% c("Bivariate","Partial")), aes(x=time, y=value, group=Correlation, shape=Correlation, color=sophistication, fill=sophistication)) +
  geom_point(size=2) +
  labs(caption = "\nPartial correlations account for party identification.") +
  facet_wrap(~factor+sophistication, nrow=3) +
  theme_bw() +
  xlab("\n Year") +
  ylim(0,0.8) +
  ylab(expression(atop("Pearson correlation with " *theta[i],""))) +
  ggtitle("American National Election Studies: 1988-2016\n") +
  theme(plot.title = element_text(hjust = 0.5)) +
  scale_color_viridis(begin = 0.2, end = 0.8, direction = 1, discrete = TRUE, option = "D", guide = "none") +
  scale_fill_viridis(begin = 0.2, end = 0.8, direction = 1, discrete = TRUE, option = "D", guide = "none")
#
dev.off()
#
#
#
# OLS TABLES
#
apsrtable(ols.partyvalues.low.1988, ols.partyvalues.low.1992, ols.partyvalues.low.1996, ols.partyvalues.low.2000, ols.partyvalues.low.2004, ols.partyvalues.low.2008, ols.partyvalues.low.2012, ols.partyvalues.low.2016,
  model.names=paste(seq(1988,2016,by=4)), caption="Determinants of ideological scores by level of political sophistication (American National Election Study, 1988-2016).")
#
apsrtable(ols.partyvalues.mid.1988, ols.partyvalues.mid.1992, ols.partyvalues.mid.1996, ols.partyvalues.mid.2000, ols.partyvalues.mid.2004, ols.partyvalues.mid.2008, ols.partyvalues.mid.2012, ols.partyvalues.mid.2016,
  model.names=paste(seq(1988,2016,by=4)), caption="Determinants of ideological scores by level of political sophistication (American National Election Study, 1988-2016).")
#
apsrtable(ols.partyvalues.high.1988, ols.partyvalues.high.1992, ols.partyvalues.high.1996, ols.partyvalues.high.2000, ols.partyvalues.high.2004, ols.partyvalues.high.2008, ols.partyvalues.high.2012, ols.partyvalues.high.2016,
  model.names=paste(seq(1988,2016,by=4)), caption="Determinants of ideological scores by level of political sophistication (American National Election Study, 1988-2016).")
#
#
# OLS model with time trend
#
ols.idealpoint.low.time <- (lm(idealpoint ~ partyid + moraltraditionalism + egalitarianism + time + partyid:time + moraltraditionalism:time + egalitarianism:time, data=subset(values.df, sophistication=="low")))
ols.idealpoint.mid.time <- (lm(idealpoint ~ partyid + moraltraditionalism + egalitarianism + time + partyid:time + moraltraditionalism:time + egalitarianism:time, data=subset(values.df, sophistication=="mid")))
ols.idealpoint.high.time <- (lm(idealpoint ~ partyid + moraltraditionalism + egalitarianism + time + partyid:time + moraltraditionalism:time + egalitarianism:time, data=subset(values.df, sophistication=="high")))
#
apsrtable(ols.idealpoint.low.time, ols.idealpoint.mid.time, ols.idealpoint.high.time,
  model.names=c("Low sophistication", "Middle sophistication", "High sophistication"),
  caption="Determinants of ideological scores by level of political sophistication (American National Election Study, 1988-2016).")
#
#
#
#
stopCluster(cl)
#
